From a97dc9234d1793b6fc16cf41e6a0b5d26ec187ce Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 14 Dec 2022 10:04:44 +0100 Subject: [PATCH 01/33] Added types to cache #252 --- .../callgraph/BaseCallGraph.java | 9 +- .../java/it/unive/lisa/TestCallGraph.java | 16 ++ .../callgraph/BaseCallGraphTest.java | 165 ++++++++++++++++++ .../callgraph/CallRegisteringTest.java | 84 --------- 4 files changed, 187 insertions(+), 87 deletions(-) create mode 100644 lisa/lisa-sdk/src/test/java/it/unive/lisa/TestCallGraph.java create mode 100644 lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/BaseCallGraphTest.java delete mode 100644 lisa/lisa-sdk/src/test/java/it/unive/lisa/interprocedural/callgraph/CallRegisteringTest.java 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..85dd38dae 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 @@ -27,11 +27,13 @@ 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; @@ -59,7 +61,7 @@ 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 { @@ -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)) 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/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()); - } -} From 71ee63738857d5925d62d381ed97e8a3f71e9332 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 14 Dec 2022 10:13:41 +0100 Subject: [PATCH 02/33] Deterministic entrypoint processing #253 --- .../it/unive/lisa/interprocedural/ContextBasedAnalysis.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 index 7c020a9a9..146e1ba02 100644 --- 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 @@ -32,6 +32,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Optional; +import java.util.TreeSet; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -121,10 +122,13 @@ private static String ordinal(int i) { private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { int iter = 0; ContextSensitivityToken empty = token.empty(); + Collection entryPoints = new TreeSet<>( + (c1, c2) -> c1.getDescriptor().getLocation().compareTo(c2.getDescriptor().getLocation())); + entryPoints.addAll(app.getEntryPoints()); do { LOG.info("Performing {} fixpoint iteration", ordinal(iter + 1)); fixpointTriggers.clear(); - for (CFG cfg : IterationLogger.iterate(LOG, app.getEntryPoints(), "Processing entrypoints", "entries")) + for (CFG cfg : IterationLogger.iterate(LOG, entryPoints, "Processing entrypoints", "entries")) try { if (results == null) { AnalyzedCFG graph = conf.optimize From 25d2f5183be638543aa34682ef57a01d41109de2 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Mon, 20 Mar 2023 18:43:47 +0100 Subject: [PATCH 03/33] Fixing cfg processing order in ModularWorstCaseAnalysis #253 --- .../lisa/interprocedural/ModularWorstCaseAnalysis.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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..0b54226b2 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,8 @@ 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 +85,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) { From fff7caad53fbc95457be655cd3ddbeab3ba1a7f6 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Fri, 16 Dec 2022 18:21:16 +0100 Subject: [PATCH 04/33] Adding test files #254 --- .../interprocedural/recursion.imp | 70 +++++++++++++++++++ .../ContextSensitiveAnalysisTest.java | 62 +++++++++++++++- 2 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp new file mode 100644 index 000000000..5e775a547 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp @@ -0,0 +1,70 @@ +class tests { + + loop(n) { + if (n < 0) + return 10; + else { + def x = n - 1; + return this.loopAux1(x) * n; + } + } + + loopAux1(n) { + def x = n - 2; + return this.loopAux2(x) * n; + } + + loopAux2(n) { + def x = n + 1; + return this.loop(x) * n; + } + + directRecursion(n) { + if (n <= 1) + return 1; + else { + def x = n - 1; + return this.directRecursion(x) * n; + } + } + + fib(n) { + if (n == 0) + return 1; + else if (n == 1) + return 1; + else { + def x = n - 1; + def y = n - 2; + return this.fib(x) + this.fib(y); + } + } + + infiniteLoop(n) { + def x = n - 1; + return this.infiniteLoopAux1(x); + } + + infiniteLoopAux1(n) { + def x = n - 2; + return this.infiniteLoopAux2(x); + } + + infiniteLoopAux2(n) { + def x = n + 1; + return this.infiniteLoop(x); + } + + infiniteDirectRecursion(n) { + def x = n - 1; + return this.infiniteDirectRecursion(x) * n; + } + + main(a) { + def x = this.directRecursion(a); + def y = this.fib(a); + def z = this.loop(a); + def w = this.infiniteDirectRecursion(a); + def k = this.infiniteLoop(a); + } +} \ No newline at end of file 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..c82ed0d92 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 @@ -2,9 +2,12 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; +import org.junit.Test; + import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; +import it.unive.lisa.LiSAConfiguration.GraphType; import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.heap.pointbased.PointBasedHeap; @@ -12,9 +15,11 @@ 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.ContextInsensitiveToken; +import it.unive.lisa.interprocedural.KDepthToken; +import it.unive.lisa.interprocedural.LastScopeToken; import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; -import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { @@ -114,4 +119,59 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { perform(conf); } + @Test + public void testRecursionWithRecFreeToken() throws AnalysisSetupException { + LiSAConfiguration conf = new LiSAConfiguration(); + conf.serializeResults = true; + conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + perform("interprocedural", "recRecFreeToken", "recursion.imp", conf); + } + + @Test + public void testRecursionWithLastToken() throws AnalysisSetupException { + LiSAConfiguration conf = new LiSAConfiguration(); + conf.serializeResults = true; + conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastScopeToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + perform("interprocedural", "recLastToken", "recursion.imp", conf); + } + + @Test + public void testRecursionWithKDepthToken() throws AnalysisSetupException { + LiSAConfiguration conf = new LiSAConfiguration(); + conf.serializeResults = true; + conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); + conf.callGraph = new RTACallGraph(); + perform("interprocedural", "recKDepthToken", "recursion.imp", conf); + } + + @Test + public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { + LiSAConfiguration conf = new LiSAConfiguration(); + conf.serializeResults = true; + conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; + conf.abstractState = getDefaultFor(AbstractState.class, + getDefaultFor(HeapDomain.class), + new Interval(), + getDefaultFor(TypeDomain.class)); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); + conf.callGraph = new RTACallGraph(); + perform("interprocedural", "recInsensitiveToken", "recursion.imp", conf); + } } From 5c641600c9888301ee151d659ac0fbb47c1a7a99 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Mon, 20 Mar 2023 19:26:59 +0100 Subject: [PATCH 05/33] Improving ContextSensitivityTokens #254 --- .../interprocedural/ContextBasedAnalysis.java | 6 +- .../ContextInsensitiveToken.java | 30 +++-- .../ContextSensitivityToken.java | 21 +++- .../lisa/interprocedural/KDepthToken.java | 108 ++++++++++++++++++ .../lisa/interprocedural/LastScopeToken.java | 76 ++++++++++++ .../interprocedural/RecursionFreeToken.java | 72 ++++++++---- .../interprocedural/SingleScopeToken.java | 68 ----------- .../interprocedural/SlidingStackToken.java | 40 +++++++ .../ContextSensitiveAnalysisTest.java | 34 ++++-- 9 files changed, 339 insertions(+), 116 deletions(-) create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java delete mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SingleScopeToken.java create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java 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 index 146e1ba02..79aba55aa 100644 --- 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 @@ -71,10 +71,10 @@ public class ContextBasedAnalysis, private FixpointConfiguration conf; /** - * Builds the analysis, using {@link SingleScopeToken}s. + * Builds the analysis, using {@link LastScopeToken}s. */ public ContextBasedAnalysis() { - this(SingleScopeToken.getSingleton()); + this(LastScopeToken.getSingleton()); } /** @@ -238,7 +238,7 @@ public AnalysisState getAbstractResultOf( result = result.lub(tmp.popScope(scope)); } - token = token.popToken(); + token = token.popToken(scope); callgraph.registerCall(call); 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 index a712eb79b..5f1fd3db3 100644 --- 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 @@ -4,28 +4,38 @@ /** * A context sensitive token that is always the same (aka, do not track any - * information about the call stack). + * information about the call stack). All results for a given cfg will be lubbed + * together regardless of the call site. */ -public class ContextInsensitiveToken implements ContextSensitivityToken { +public class ContextInsensitiveToken extends SlidingStackToken { - private static final ContextInsensitiveToken singleton = new ContextInsensitiveToken(); + private static final Object FLAG = new Object(); private ContextInsensitiveToken() { + super(); + } + + private ContextInsensitiveToken(ContextInsensitiveToken parent) { + super(parent); } @Override - public ContextSensitivityToken empty() { - return this; + public ContextInsensitiveToken empty() { + return new ContextInsensitiveToken(); } @Override - public ContextSensitivityToken pushToken(ScopeToken c) { - return this; + public ContextInsensitiveToken pushToken(ScopeToken c) { + ContextInsensitiveToken res = new ContextInsensitiveToken(this); + res.pushStackForToken(c, FLAG); + return res; } @Override - public ContextSensitivityToken popToken() { - return this; + public ContextInsensitiveToken popToken(ScopeToken c) { + ContextInsensitiveToken res = new ContextInsensitiveToken(this); + res.popStackForToken(c, FLAG); + return res; } @Override @@ -39,6 +49,6 @@ public String toString() { * @return an instance of the class */ public static ContextInsensitiveToken getSingleton() { - return singleton; + return new ContextInsensitiveToken(); } } 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 index 57818c033..c5c891b1f 100644 --- 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 @@ -8,6 +8,11 @@ */ public interface ContextSensitivityToken extends ScopeId { + /** + * An empty array of {@link ScopeToken}s. + */ + static final ScopeToken[] NO_TOKENS = new ScopeToken[0]; + /** * A token without any context sensitivity. * @@ -29,9 +34,23 @@ public interface ContextSensitivityToken extends ScopeId { /** * Creates a context sensitive token popping the scope on top of the stack. * + * @param c the {@link ScopeToken} to be popped from the top of the context + * sensitive + * * @return a token without the this token's top scope */ - ContextSensitivityToken popToken(); + ContextSensitivityToken popToken(ScopeToken c); + + /** + * Whether or not the limit of the call chain has been reached (where + * {@code true} means that nothing can be pushed anymore and no + * further scoping can be applied starting from this token). When this + * method returns {@code true}, the result of further calls cannot be + * evaluated. + * + * @return {@code true} if that condition holds + */ + boolean limitReached(); @Override default ScopeId startingId() { diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java new file mode 100644 index 000000000..89e28a626 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -0,0 +1,108 @@ +package it.unive.lisa.interprocedural; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +import it.unive.lisa.analysis.ScopeToken; + +/** + * 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 extends SlidingStackToken> { + + private final List tokens; + + private final int k; + + private KDepthToken(int k) { + super(); + this.k = k; + this.tokens = Collections.emptyList(); + } + + private KDepthToken(KDepthToken parent, int k, List tokens, ScopeToken newToken) { + super(parent); + this.k = k; + int oldlen = tokens.size(); + if (oldlen == k) { + this.tokens = new ArrayList<>(k); + // we skip the oldest one + tokens.stream().skip(1).forEach(this.tokens::add); + this.tokens.add(newToken); + } else { + this.tokens = new ArrayList<>(tokens.size() + 1); + tokens.stream().forEach(this.tokens::add); + this.tokens.add(newToken); + } + } + + private KDepthToken(KDepthToken parent, int k, List tokens) { + super(parent); + this.k = k; + int oldsize = tokens.size(); + if (oldsize == 1) + this.tokens = Collections.emptyList(); + else { + this.tokens = new ArrayList<>(oldsize - 1); + tokens.stream().limit(oldsize - 1).forEach(this.tokens::add); + } + } + + @Override + public ContextSensitivityToken empty() { + return new KDepthToken(k); + } + + @Override + public ContextSensitivityToken pushToken(ScopeToken c) { + KDepthToken res = new KDepthToken(this, k, tokens, c); + res.pushStackForToken(c, res.tokens); + return res; + } + + @Override + public ContextSensitivityToken popToken(ScopeToken c) { + if (tokens.isEmpty()) + return this; + KDepthToken res = new KDepthToken(this, k, tokens); + res.popStackForToken(c, tokens); + return res; + } + + /** + * 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() { + return tokens.toString(); + } + + @Override + public boolean equals(Object o) { + // we ignore k as it does not matter for equality + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + KDepthToken that = (KDepthToken) o; + return Objects.equals(tokens, that.tokens); + } + + @Override + public int hashCode() { + // we ignore k as it does not matter for equality + return Objects.hashCode(tokens); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java new file mode 100644 index 000000000..c6a9e7fcd --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java @@ -0,0 +1,76 @@ +package it.unive.lisa.interprocedural; + +import java.util.Objects; + +import it.unive.lisa.analysis.ScopeToken; + +/** + * 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 LastScopeToken extends SlidingStackToken { + + private final ScopeToken token; + + private LastScopeToken(ScopeToken token) { + super(); + this.token = token; + } + + private LastScopeToken(LastScopeToken parent, ScopeToken token) { + super(parent); + this.token = token; + } + + @Override + public LastScopeToken empty() { + return new LastScopeToken(null); + } + + @Override + public LastScopeToken pushToken(ScopeToken c) { + LastScopeToken res = new LastScopeToken(this, c); + res.pushStackForToken(c, res.token); + return res; + } + + @Override + public LastScopeToken popToken(ScopeToken c) { + LastScopeToken res = new LastScopeToken(this, null); + res.popStackForToken(c, token); + return res; + } + + /** + * Return an empty token. + * + * @return an empty token + */ + public static LastScopeToken getSingleton() { + return new LastScopeToken(null); + } + + @Override + public String toString() { + return token == null ? "" : token.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + LastScopeToken that = (LastScopeToken) 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/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java index f2c66bcd9..6dc33ea42 100644 --- 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 @@ -1,54 +1,77 @@ 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; +import it.unive.lisa.analysis.ScopeToken; + /** - * A context sensitive token representing an entire call chain up until a - * recursion. + * A context sensitive token representing an entire call chain until a recursion + * is encountered. This corresponds to having an unlimited {@link KDepthToken}, + * that only stops when a token that is already part of the chain is pushed. */ public class RecursionFreeToken implements ContextSensitivityToken { - private static final RecursionFreeToken singleton = new RecursionFreeToken(null); + private static final RecursionFreeToken SINGLETON = new RecursionFreeToken(); private final List tokens; + private final boolean foundRecursion; - private RecursionFreeToken(ScopeToken newToken) { - this(Collections.emptyList(), newToken); + private RecursionFreeToken() { + tokens = Collections.emptyList(); + foundRecursion = false; } 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); + this.tokens = new ArrayList<>(tokens.size() + 1); + tokens.stream().forEach(this.tokens::add); + this.tokens.add(newToken); + foundRecursion = false; } - @Override - public ContextSensitivityToken empty() { - return new RecursionFreeToken(null); + private RecursionFreeToken(List tokens) { + int oldsize = tokens.size(); + if (oldsize == 1) + this.tokens = Collections.emptyList(); + else { + this.tokens = new ArrayList<>(oldsize - 1); + tokens.stream().limit(oldsize - 1).forEach(this.tokens::add); + } + foundRecursion = false; + } + + private RecursionFreeToken(RecursionFreeToken other) { + tokens = other.tokens; + foundRecursion = true; } @Override - public boolean isStartingId() { - return tokens == null || tokens.isEmpty(); + public ContextSensitivityToken empty() { + return new RecursionFreeToken(); } @Override public ContextSensitivityToken pushToken(ScopeToken c) { - if (tokens.contains(c)) - return this; + // we try to prevent recursions here: it's better + // to look for them starting from the end of the array + for (int i = tokens.size() - 1; i >= 0; i--) + if (tokens.get(i).equals(c)) + return new RecursionFreeToken(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); + public ContextSensitivityToken popToken(ScopeToken c) { + if (tokens.isEmpty()) + return this; + return new RecursionFreeToken(tokens); + } + + @Override + public boolean limitReached() { + return foundRecursion; } /** @@ -57,12 +80,12 @@ public ContextSensitivityToken popToken() { * @return an empty token */ public static RecursionFreeToken getSingleton() { - return singleton; + return SINGLETON; } @Override public String toString() { - return String.valueOf(tokens); + return tokens.toString(); } @Override @@ -77,7 +100,6 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(tokens); + return Objects.hashCode(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/SlidingStackToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java new file mode 100644 index 000000000..98169889b --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java @@ -0,0 +1,40 @@ +package it.unive.lisa.interprocedural; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + +import it.unive.lisa.analysis.ScopeToken; + +public abstract class SlidingStackToken implements ContextSensitivityToken { + + private final Map> callStacks; + + private boolean lastPush; + + protected SlidingStackToken() { + callStacks = new HashMap<>(); + } + + protected SlidingStackToken(SlidingStackToken other) { + callStacks = new HashMap<>(other.callStacks); + } + + protected void pushStackForToken(ScopeToken c, T stack) { + lastPush = callStacks.computeIfAbsent(c, tk -> new HashSet<>()).add(stack); + } + + protected void popStackForToken(ScopeToken c, T stack) { + Collection stacks = callStacks.get(c); + if (stacks.size() == 1) + callStacks.remove(c); + else + stacks.remove(stack); + } + + @Override + public final boolean limitReached() { + return !lastPush; + } +} 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 c82ed0d92..3de6bb91e 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 @@ -2,18 +2,19 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; +import org.junit.Ignore; import org.junit.Test; import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; -import it.unive.lisa.LiSAConfiguration.GraphType; import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.heap.pointbased.PointBasedHeap; 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.conf.LiSAConfiguration.GraphType; import it.unive.lisa.interprocedural.ContextBasedAnalysis; import it.unive.lisa.interprocedural.ContextInsensitiveToken; import it.unive.lisa.interprocedural.KDepthToken; @@ -120,8 +121,9 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { } @Test + @Ignore public void testRecursionWithRecFreeToken() throws AnalysisSetupException { - LiSAConfiguration conf = new LiSAConfiguration(); + CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, @@ -130,12 +132,16 @@ public void testRecursionWithRecFreeToken() throws AnalysisSetupException { getDefaultFor(TypeDomain.class)); conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); conf.callGraph = new RTACallGraph(); - perform("interprocedural", "recRecFreeToken", "recursion.imp", conf); + conf.testDir = "interprocedural"; + conf.testSubDir = "recRecFreeToken"; + conf.programFile = "recursion.imp"; + perform(conf); } @Test + @Ignore public void testRecursionWithLastToken() throws AnalysisSetupException { - LiSAConfiguration conf = new LiSAConfiguration(); + CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, @@ -144,12 +150,15 @@ public void testRecursionWithLastToken() throws AnalysisSetupException { getDefaultFor(TypeDomain.class)); conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastScopeToken.getSingleton()); conf.callGraph = new RTACallGraph(); - perform("interprocedural", "recLastToken", "recursion.imp", conf); + conf.testDir = "interprocedural"; + conf.testSubDir = "recLastToken"; + conf.programFile = "recursion.imp"; + perform(conf); } @Test public void testRecursionWithKDepthToken() throws AnalysisSetupException { - LiSAConfiguration conf = new LiSAConfiguration(); + CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, @@ -158,12 +167,16 @@ public void testRecursionWithKDepthToken() throws AnalysisSetupException { getDefaultFor(TypeDomain.class)); conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); conf.callGraph = new RTACallGraph(); - perform("interprocedural", "recKDepthToken", "recursion.imp", conf); + conf.testDir = "interprocedural"; + conf.testSubDir = "recKDepthToken"; + conf.programFile = "recursion.imp"; + perform(conf); } @Test + @Ignore public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { - LiSAConfiguration conf = new LiSAConfiguration(); + CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, @@ -172,6 +185,9 @@ public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { getDefaultFor(TypeDomain.class)); conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); conf.callGraph = new RTACallGraph(); - perform("interprocedural", "recInsensitiveToken", "recursion.imp", conf); + conf.testDir = "interprocedural"; + conf.testSubDir = "recInsensitiveToken"; + conf.programFile = "recursion.imp"; + perform(conf); } } From 730a401094e38d14330c1b8413478395feeda772 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 22 Mar 2023 11:38:02 +0100 Subject: [PATCH 06/33] ScopeIds work with CFGCalls #254 --- .../interprocedural/ContextBasedAnalysis.java | 6 +-- .../ContextInsensitiveToken.java | 12 +++--- .../ContextSensitivityToken.java | 29 +++++--------- .../lisa/interprocedural/KDepthToken.java | 18 ++++----- .../lisa/interprocedural/LastScopeToken.java | 17 ++++---- .../interprocedural/RecursionFreeToken.java | 14 +++---- .../interprocedural/SlidingStackToken.java | 40 ++++++++++++++++--- .../EqualityContractVerificationTest.java | 39 +++++++++--------- .../lisa/analysis/OptimizedAnalyzedCFG.java | 2 +- .../unive/lisa/interprocedural/ScopeId.java | 8 ++-- .../lisa/interprocedural/UniqueScope.java | 4 +- 11 files changed, 108 insertions(+), 81 deletions(-) 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 index 79aba55aa..a7f3c9079 100644 --- 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 @@ -190,7 +190,8 @@ public AnalysisState getAbstractResultOf( StatementStore expressions) throws SemanticException { ScopeToken scope = new ScopeToken(call); - token = token.pushToken(scope); + // FIXME should this be part of the interprocedural analysis? + token = token.pushCall(call); AnalysisState result = entryState.bottom(); for (CFG cfg : call.getTargetedCFGs()) { @@ -238,8 +239,7 @@ public AnalysisState getAbstractResultOf( result = result.lub(tmp.popScope(scope)); } - token = token.popToken(scope); - + token = token.popCall(call); callgraph.registerCall(call); return result; 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 index 5f1fd3db3..847484bf5 100644 --- 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 @@ -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 context sensitive token that is always the same (aka, do not track any @@ -14,7 +14,7 @@ public class ContextInsensitiveToken extends SlidingStackToken { private ContextInsensitiveToken() { super(); } - + private ContextInsensitiveToken(ContextInsensitiveToken parent) { super(parent); } @@ -25,16 +25,16 @@ public ContextInsensitiveToken empty() { } @Override - public ContextInsensitiveToken pushToken(ScopeToken c) { + public ContextInsensitiveToken pushCall(CFGCall c) { ContextInsensitiveToken res = new ContextInsensitiveToken(this); - res.pushStackForToken(c, FLAG); + res.registerCallStack(c, FLAG); return res; } @Override - public ContextInsensitiveToken popToken(ScopeToken c) { + public ContextInsensitiveToken popCall(CFGCall c) { ContextInsensitiveToken res = new ContextInsensitiveToken(this); - res.popStackForToken(c, FLAG); + res.unregisterCallStack(c, FLAG); return res; } 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 index c5c891b1f..e0f6930ec 100644 --- 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 @@ -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 token for interprocedural analysis that tunes the level of context @@ -8,11 +8,6 @@ */ public interface ContextSensitivityToken extends ScopeId { - /** - * An empty array of {@link ScopeToken}s. - */ - static final ScopeToken[] NO_TOKENS = new ScopeToken[0]; - /** * A token without any context sensitivity. * @@ -21,25 +16,23 @@ public interface ContextSensitivityToken extends ScopeId { ContextSensitivityToken empty(); /** - * Creates a context sensitive token with the given scope on the top of the + * Creates a context sensitive token with the given call on the top of the * stack. * - * @param c the {@link ScopeToken} to be pushed at the top of the context - * sensitive + * @param c the {@link CFGCall} to be pushed at the top of the token * - * @return a token with the given scope on the top of the call stack + * @return a token with the given call on the top of the call stack */ - ContextSensitivityToken pushToken(ScopeToken c); + ContextSensitivityToken pushCall(CFGCall c); /** - * Creates a context sensitive token popping the scope on top of the stack. + * Creates a context sensitive token popping the call on top of the stack. * - * @param c the {@link ScopeToken} to be popped from the top of the context - * sensitive + * @param c the {@link CFGCall} to be popped from the top of the token * - * @return a token without the this token's top scope + * @return a token without the this token's top call */ - ContextSensitivityToken popToken(ScopeToken c); + ContextSensitivityToken popCall(CFGCall c); /** * Whether or not the limit of the call chain has been reached (where @@ -58,8 +51,8 @@ default ScopeId startingId() { } @Override - default ScopeId push(ScopeToken scopeToken) { - return pushToken(scopeToken); + default ScopeId push(CFGCall c) { + return pushCall(c); } @Override diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index 89e28a626..e31fba57b 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -5,16 +5,16 @@ import java.util.List; import java.util.Objects; -import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * 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 extends SlidingStackToken> { +public class KDepthToken extends SlidingStackToken> { - private final List tokens; + private final List tokens; private final int k; @@ -24,7 +24,7 @@ private KDepthToken(int k) { this.tokens = Collections.emptyList(); } - private KDepthToken(KDepthToken parent, int k, List tokens, ScopeToken newToken) { + private KDepthToken(KDepthToken parent, int k, List tokens, CFGCall newToken) { super(parent); this.k = k; int oldlen = tokens.size(); @@ -40,7 +40,7 @@ private KDepthToken(KDepthToken parent, int k, List tokens, ScopeTok } } - private KDepthToken(KDepthToken parent, int k, List tokens) { + private KDepthToken(KDepthToken parent, int k, List tokens) { super(parent); this.k = k; int oldsize = tokens.size(); @@ -58,18 +58,18 @@ public ContextSensitivityToken empty() { } @Override - public ContextSensitivityToken pushToken(ScopeToken c) { + public ContextSensitivityToken pushCall(CFGCall c) { KDepthToken res = new KDepthToken(this, k, tokens, c); - res.pushStackForToken(c, res.tokens); + res.registerCallStack(c, res.tokens); return res; } @Override - public ContextSensitivityToken popToken(ScopeToken c) { + public ContextSensitivityToken popCall(CFGCall c) { if (tokens.isEmpty()) return this; KDepthToken res = new KDepthToken(this, k, tokens); - res.popStackForToken(c, tokens); + res.unregisterCallStack(c, tokens); return res; } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java index c6a9e7fcd..dea6e9b2b 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java @@ -3,6 +3,7 @@ import java.util.Objects; 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 @@ -11,16 +12,16 @@ * regardless of the call stack. This corresponds to having a * {@link KDepthToken} with {@code k = 1}. */ -public class LastScopeToken extends SlidingStackToken { +public class LastScopeToken extends SlidingStackToken { - private final ScopeToken token; + private final CFGCall token; - private LastScopeToken(ScopeToken token) { + private LastScopeToken(CFGCall token) { super(); this.token = token; } - private LastScopeToken(LastScopeToken parent, ScopeToken token) { + private LastScopeToken(LastScopeToken parent, CFGCall token) { super(parent); this.token = token; } @@ -31,16 +32,16 @@ public LastScopeToken empty() { } @Override - public LastScopeToken pushToken(ScopeToken c) { + public LastScopeToken pushCall(CFGCall c) { LastScopeToken res = new LastScopeToken(this, c); - res.pushStackForToken(c, res.token); + res.registerCallStack(c, res.token); return res; } @Override - public LastScopeToken popToken(ScopeToken c) { + public LastScopeToken popCall(CFGCall c) { LastScopeToken res = new LastScopeToken(this, null); - res.popStackForToken(c, token); + res.unregisterCallStack(c, token); return res; } 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 index 6dc33ea42..591ed8d14 100644 --- 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 @@ -5,7 +5,7 @@ import java.util.List; import java.util.Objects; -import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * A context sensitive token representing an entire call chain until a recursion @@ -16,7 +16,7 @@ public class RecursionFreeToken implements ContextSensitivityToken { private static final RecursionFreeToken SINGLETON = new RecursionFreeToken(); - private final List tokens; + private final List tokens; private final boolean foundRecursion; private RecursionFreeToken() { @@ -24,14 +24,14 @@ private RecursionFreeToken() { foundRecursion = false; } - private RecursionFreeToken(List tokens, ScopeToken newToken) { + private RecursionFreeToken(List tokens, CFGCall newToken) { this.tokens = new ArrayList<>(tokens.size() + 1); tokens.stream().forEach(this.tokens::add); this.tokens.add(newToken); foundRecursion = false; } - private RecursionFreeToken(List tokens) { + private RecursionFreeToken(List tokens) { int oldsize = tokens.size(); if (oldsize == 1) this.tokens = Collections.emptyList(); @@ -53,7 +53,7 @@ public ContextSensitivityToken empty() { } @Override - public ContextSensitivityToken pushToken(ScopeToken c) { + public ContextSensitivityToken pushCall(CFGCall c) { // we try to prevent recursions here: it's better // to look for them starting from the end of the array for (int i = tokens.size() - 1; i >= 0; i--) @@ -63,12 +63,12 @@ public ContextSensitivityToken pushToken(ScopeToken c) { } @Override - public ContextSensitivityToken popToken(ScopeToken c) { + public ContextSensitivityToken popCall(CFGCall c) { if (tokens.isEmpty()) return this; return new RecursionFreeToken(tokens); } - + @Override public boolean limitReached() { return foundRecursion; diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java index 98169889b..51e88ed5e 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java @@ -5,27 +5,57 @@ import java.util.HashSet; import java.util.Map; -import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; +/** + * A {@link ContextSensitivityToken} that keeps track of the current call stacks + * for each call. + * + * @author Luca Negrini + * + * @param the type of the call stack object + */ public abstract class SlidingStackToken implements ContextSensitivityToken { - - private final Map> callStacks; + // FIXME should this be part of the interprocedural analysis? + private final Map> callStacks; private boolean lastPush; + /** + * Builds the token. + */ protected SlidingStackToken() { callStacks = new HashMap<>(); } + /** + * Builds the token, shallow-copying the stacks of the given one. + * + * @param other the other token + */ protected SlidingStackToken(SlidingStackToken other) { callStacks = new HashMap<>(other.callStacks); } - protected void pushStackForToken(ScopeToken c, T stack) { + /** + * Registers the given call stack for the given call. If the stack is + * already present, all calls to {@link #limitReached()} will return + * {@code false} until the next invocation of this method. + * + * @param c the call that the stack is associated with + * @param stack the stack to register + */ + protected void registerCallStack(CFGCall c, T stack) { lastPush = callStacks.computeIfAbsent(c, tk -> new HashSet<>()).add(stack); } - protected void popStackForToken(ScopeToken c, T stack) { + /** + * Removes the given stack from the ones registered for the given call. + * + * @param c the call that the stack is associated with + * @param stack the stack to unregister + */ + protected void unregisterCallStack(CFGCall c, T stack) { Collection stacks = callStacks.get(c); if (stacks.size() == 1) callStacks.remove(c); 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..df690e8f8 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 @@ -2,6 +2,24 @@ import static org.junit.Assert.assertTrue; +import java.lang.reflect.Modifier; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.function.Consumer; + +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.tuple.Pair; +import org.graphstream.graph.implementations.SingleGraph; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.reflections.Reflections; +import org.reflections.scanners.SubTypesScanner; + import it.unive.lisa.LiSAFactory.ConfigurableComponent; import it.unive.lisa.analysis.AnalyzedCFG; import it.unive.lisa.analysis.Lattice; @@ -114,25 +132,9 @@ import it.unive.lisa.util.datastructures.regex.symbolic.UnknownSymbolicChar; import it.unive.lisa.util.numeric.IntInterval; import it.unive.lisa.util.numeric.MathNumber; -import java.lang.reflect.Modifier; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.function.Consumer; import nl.jqno.equalsverifier.EqualsVerifier; import nl.jqno.equalsverifier.Warning; import nl.jqno.equalsverifier.api.SingleTypeEqualsVerifierApi; -import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang3.tuple.Pair; -import org.graphstream.graph.implementations.SingleGraph; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.reflections.Reflections; -import org.reflections.scanners.SubTypesScanner; //This test must live here since this project has all the others in its classpath, and reflections can detect all classes public class EqualityContractVerificationTest { @@ -337,8 +339,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 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..6b861c231 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 @@ -263,7 +263,7 @@ public AnalysisState getAbstractResultOf( throws SemanticException { 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(); 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; } From e1c57a79c0292b040defefaea025d944f3825e6b Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 22 Mar 2023 12:24:01 +0100 Subject: [PATCH 07/33] Incorporating call stacks in ContextBasedAnalysis #254 --- .../interprocedural/ContextBasedAnalysis.java | 45 +++++++++-- .../ContextInsensitiveToken.java | 16 +--- .../ContextSensitivityToken.java | 11 --- .../lisa/interprocedural/KDepthToken.java | 51 ++++++------ .../lisa/interprocedural/LastCallToken.java | 66 ++++++++++++++++ .../lisa/interprocedural/LastScopeToken.java | 77 ------------------- .../interprocedural/RecursionFreeToken.java | 48 +++++------- .../interprocedural/SlidingStackToken.java | 70 ----------------- .../ContextSensitiveAnalysisTest.java | 16 ++-- .../it/unive/lisa/conf/LiSAConfiguration.java | 27 +++---- .../util/collections/CollectionUtilities.java | 47 +++++++++++ 11 files changed, 221 insertions(+), 253 deletions(-) create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java delete mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java delete mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java 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 index a7f3c9079..5eb2928f6 100644 --- 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 @@ -29,6 +29,7 @@ import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Optional; @@ -64,17 +65,19 @@ public class ContextBasedAnalysis, private ContextSensitivityToken token; - private final Collection fixpointTriggers; - private Class> fixpointWorkingSet; private FixpointConfiguration conf; + private final Collection fixpointTriggers; + + private final Map> callStacks; + /** - * Builds the analysis, using {@link LastScopeToken}s. + * Builds the analysis, using {@link LastCallToken}s. */ public ContextBasedAnalysis() { - this(LastScopeToken.getSingleton()); + this(LastCallToken.getSingleton()); } /** @@ -86,6 +89,7 @@ public ContextBasedAnalysis() { public ContextBasedAnalysis(ContextSensitivityToken token) { this.token = token.empty(); fixpointTriggers = new HashSet<>(); + callStacks = new HashMap<>(); } @Override @@ -122,9 +126,11 @@ private static String ordinal(int i) { private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { int iter = 0; ContextSensitivityToken empty = token.empty(); + Collection entryPoints = new TreeSet<>( (c1, c2) -> c1.getDescriptor().getLocation().compareTo(c2.getDescriptor().getLocation())); entryPoints.addAll(app.getEntryPoints()); + do { LOG.info("Performing {} fixpoint iteration", ordinal(iter + 1)); fixpointTriggers.clear(); @@ -182,6 +188,33 @@ private Pair, AnalysisState> getEntryAndEx return Pair.of(analysisresult.getEntryState(), analysisresult.getExitState()); } + /** + * Registers the given call stack for the given call. + * + * @param c the call that the stack is associated with + * @param stack the stack to register + * + * @return whether or not the stack has been registered (if {@code false}, + * the stack already exists for the given call) + */ + protected boolean registerCallStack(CFGCall c, ContextSensitivityToken stack) { + return callStacks.computeIfAbsent(c, tk -> new HashSet<>()).add(stack); + } + + /** + * Removes the given stack from the ones registered for the given call. + * + * @param c the call that the stack is associated with + * @param stack the stack to unregister + */ + protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) { + Collection stacks = callStacks.get(c); + if (stacks.size() == 1) + callStacks.remove(c); + else + stacks.remove(stack); + } + @Override public AnalysisState getAbstractResultOf( CFGCall call, @@ -190,8 +223,9 @@ public AnalysisState getAbstractResultOf( StatementStore expressions) throws SemanticException { ScopeToken scope = new ScopeToken(call); - // FIXME should this be part of the interprocedural analysis? token = token.pushCall(call); + if (!registerCallStack(call, token)) + throw new SemanticException("Recursion found at '" + call + "' : " + token); AnalysisState result = entryState.bottom(); for (CFG cfg : call.getTargetedCFGs()) { @@ -239,6 +273,7 @@ public AnalysisState getAbstractResultOf( result = result.lub(tmp.popScope(scope)); } + unregisterCallStack(call, token); token = token.popCall(call); callgraph.registerCall(call); 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 index 847484bf5..bf011ba1c 100644 --- 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 @@ -7,18 +7,12 @@ * information about the call stack). All results for a given cfg will be lubbed * together regardless of the call site. */ -public class ContextInsensitiveToken extends SlidingStackToken { - - private static final Object FLAG = new Object(); +public class ContextInsensitiveToken implements ContextSensitivityToken { private ContextInsensitiveToken() { super(); } - private ContextInsensitiveToken(ContextInsensitiveToken parent) { - super(parent); - } - @Override public ContextInsensitiveToken empty() { return new ContextInsensitiveToken(); @@ -26,16 +20,12 @@ public ContextInsensitiveToken empty() { @Override public ContextInsensitiveToken pushCall(CFGCall c) { - ContextInsensitiveToken res = new ContextInsensitiveToken(this); - res.registerCallStack(c, FLAG); - return res; + return this; } @Override public ContextInsensitiveToken popCall(CFGCall c) { - ContextInsensitiveToken res = new ContextInsensitiveToken(this); - res.unregisterCallStack(c, FLAG); - return res; + return this; } @Override 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 index e0f6930ec..f97bec2be 100644 --- 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 @@ -34,17 +34,6 @@ public interface ContextSensitivityToken extends ScopeId { */ ContextSensitivityToken popCall(CFGCall c); - /** - * Whether or not the limit of the call chain has been reached (where - * {@code true} means that nothing can be pushed anymore and no - * further scoping can be applied starting from this token). When this - * method returns {@code true}, the result of further calls cannot be - * evaluated. - * - * @return {@code true} if that condition holds - */ - boolean limitReached(); - @Override default ScopeId startingId() { return empty(); diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index e31fba57b..295a8b767 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -6,49 +6,47 @@ import java.util.Objects; import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; /** * 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 extends SlidingStackToken> { +public class KDepthToken implements ContextSensitivityToken { - private final List tokens; + private final List calls; private final int k; private KDepthToken(int k) { - super(); this.k = k; - this.tokens = Collections.emptyList(); + this.calls = Collections.emptyList(); } - private KDepthToken(KDepthToken parent, int k, List tokens, CFGCall newToken) { - super(parent); + private KDepthToken(int k, List tokens, CFGCall newToken) { this.k = k; int oldlen = tokens.size(); if (oldlen == k) { - this.tokens = new ArrayList<>(k); + this.calls = new ArrayList<>(k); // we skip the oldest one - tokens.stream().skip(1).forEach(this.tokens::add); - this.tokens.add(newToken); + tokens.stream().skip(1).forEach(this.calls::add); + this.calls.add(newToken); } else { - this.tokens = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(this.tokens::add); - this.tokens.add(newToken); + this.calls = new ArrayList<>(tokens.size() + 1); + tokens.stream().forEach(this.calls::add); + this.calls.add(newToken); } } - private KDepthToken(KDepthToken parent, int k, List tokens) { - super(parent); + private KDepthToken(int k, List tokens) { this.k = k; int oldsize = tokens.size(); if (oldsize == 1) - this.tokens = Collections.emptyList(); + this.calls = Collections.emptyList(); else { - this.tokens = new ArrayList<>(oldsize - 1); - tokens.stream().limit(oldsize - 1).forEach(this.tokens::add); + this.calls = new ArrayList<>(oldsize - 1); + tokens.stream().limit(oldsize - 1).forEach(this.calls::add); } } @@ -59,18 +57,14 @@ public ContextSensitivityToken empty() { @Override public ContextSensitivityToken pushCall(CFGCall c) { - KDepthToken res = new KDepthToken(this, k, tokens, c); - res.registerCallStack(c, res.tokens); - return res; + return new KDepthToken(k, calls, c); } @Override public ContextSensitivityToken popCall(CFGCall c) { - if (tokens.isEmpty()) + if (calls.isEmpty()) return this; - KDepthToken res = new KDepthToken(this, k, tokens); - res.unregisterCallStack(c, tokens); - return res; + return new KDepthToken(k, calls); } /** @@ -86,7 +80,10 @@ public static KDepthToken getSingleton(int k) { @Override public String toString() { - return tokens.toString(); + if (calls.isEmpty()) + return ""; + return "[" + calls.stream().map(call -> call.getLocation()) + .collect(new CollectionUtilities.StringCollector<>(", ")) + "]"; } @Override @@ -97,12 +94,12 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; KDepthToken that = (KDepthToken) o; - return Objects.equals(tokens, that.tokens); + return Objects.equals(calls, that.calls); } @Override public int hashCode() { // we ignore k as it does not matter for equality - return Objects.hashCode(tokens); + return Objects.hashCode(calls); } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java new file mode 100644 index 000000000..67700ec47 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -0,0 +1,66 @@ +package it.unive.lisa.interprocedural; + +import java.util.Objects; + +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; + } + + @Override + public LastCallToken empty() { + return new LastCallToken(null); + } + + @Override + public LastCallToken pushCall(CFGCall c) { + return new LastCallToken(c); + } + + @Override + public LastCallToken popCall(CFGCall c) { + return new LastCallToken(null); + } + + /** + * 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 o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + LastCallToken that = (LastCallToken) o; + return Objects.equals(call, that.call); + } + + @Override + public int hashCode() { + return Objects.hash(call); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java deleted file mode 100644 index dea6e9b2b..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastScopeToken.java +++ /dev/null @@ -1,77 +0,0 @@ -package it.unive.lisa.interprocedural; - -import java.util.Objects; - -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 LastScopeToken extends SlidingStackToken { - - private final CFGCall token; - - private LastScopeToken(CFGCall token) { - super(); - this.token = token; - } - - private LastScopeToken(LastScopeToken parent, CFGCall token) { - super(parent); - this.token = token; - } - - @Override - public LastScopeToken empty() { - return new LastScopeToken(null); - } - - @Override - public LastScopeToken pushCall(CFGCall c) { - LastScopeToken res = new LastScopeToken(this, c); - res.registerCallStack(c, res.token); - return res; - } - - @Override - public LastScopeToken popCall(CFGCall c) { - LastScopeToken res = new LastScopeToken(this, null); - res.unregisterCallStack(c, token); - return res; - } - - /** - * Return an empty token. - * - * @return an empty token - */ - public static LastScopeToken getSingleton() { - return new LastScopeToken(null); - } - - @Override - public String toString() { - return token == null ? "" : token.toString(); - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - LastScopeToken that = (LastScopeToken) 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/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java index 591ed8d14..44ad9ab07 100644 --- 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 @@ -6,6 +6,7 @@ import java.util.Objects; import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; /** * A context sensitive token representing an entire call chain until a recursion @@ -16,35 +17,30 @@ public class RecursionFreeToken implements ContextSensitivityToken { private static final RecursionFreeToken SINGLETON = new RecursionFreeToken(); - private final List tokens; - private final boolean foundRecursion; + private final List calls; private RecursionFreeToken() { - tokens = Collections.emptyList(); - foundRecursion = false; + calls = Collections.emptyList(); } private RecursionFreeToken(List tokens, CFGCall newToken) { - this.tokens = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(this.tokens::add); - this.tokens.add(newToken); - foundRecursion = false; + this.calls = new ArrayList<>(tokens.size() + 1); + tokens.stream().forEach(this.calls::add); + this.calls.add(newToken); } private RecursionFreeToken(List tokens) { int oldsize = tokens.size(); if (oldsize == 1) - this.tokens = Collections.emptyList(); + this.calls = Collections.emptyList(); else { - this.tokens = new ArrayList<>(oldsize - 1); - tokens.stream().limit(oldsize - 1).forEach(this.tokens::add); + this.calls = new ArrayList<>(oldsize - 1); + tokens.stream().limit(oldsize - 1).forEach(this.calls::add); } - foundRecursion = false; } private RecursionFreeToken(RecursionFreeToken other) { - tokens = other.tokens; - foundRecursion = true; + calls = other.calls; } @Override @@ -56,22 +52,17 @@ public ContextSensitivityToken empty() { public ContextSensitivityToken pushCall(CFGCall c) { // we try to prevent recursions here: it's better // to look for them starting from the end of the array - for (int i = tokens.size() - 1; i >= 0; i--) - if (tokens.get(i).equals(c)) + for (int i = calls.size() - 1; i >= 0; i--) + if (calls.get(i).equals(c)) return new RecursionFreeToken(this); - return new RecursionFreeToken(tokens, c); + return new RecursionFreeToken(calls, c); } @Override public ContextSensitivityToken popCall(CFGCall c) { - if (tokens.isEmpty()) + if (calls.isEmpty()) return this; - return new RecursionFreeToken(tokens); - } - - @Override - public boolean limitReached() { - return foundRecursion; + return new RecursionFreeToken(calls); } /** @@ -85,7 +76,10 @@ public static RecursionFreeToken getSingleton() { @Override public String toString() { - return tokens.toString(); + if (calls.isEmpty()) + return ""; + return "[" + calls.stream().map(call -> call.getLocation()) + .collect(new CollectionUtilities.StringCollector<>(", ")) + "]"; } @Override @@ -95,11 +89,11 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; RecursionFreeToken that = (RecursionFreeToken) o; - return Objects.equals(tokens, that.tokens); + return Objects.equals(calls, that.calls); } @Override public int hashCode() { - return Objects.hashCode(tokens); + return Objects.hashCode(calls); } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java deleted file mode 100644 index 51e88ed5e..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/SlidingStackToken.java +++ /dev/null @@ -1,70 +0,0 @@ -package it.unive.lisa.interprocedural; - -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - -import it.unive.lisa.program.cfg.statement.call.CFGCall; - -/** - * A {@link ContextSensitivityToken} that keeps track of the current call stacks - * for each call. - * - * @author Luca Negrini - * - * @param the type of the call stack object - */ -public abstract class SlidingStackToken implements ContextSensitivityToken { - // FIXME should this be part of the interprocedural analysis? - private final Map> callStacks; - - private boolean lastPush; - - /** - * Builds the token. - */ - protected SlidingStackToken() { - callStacks = new HashMap<>(); - } - - /** - * Builds the token, shallow-copying the stacks of the given one. - * - * @param other the other token - */ - protected SlidingStackToken(SlidingStackToken other) { - callStacks = new HashMap<>(other.callStacks); - } - - /** - * Registers the given call stack for the given call. If the stack is - * already present, all calls to {@link #limitReached()} will return - * {@code false} until the next invocation of this method. - * - * @param c the call that the stack is associated with - * @param stack the stack to register - */ - protected void registerCallStack(CFGCall c, T stack) { - lastPush = callStacks.computeIfAbsent(c, tk -> new HashSet<>()).add(stack); - } - - /** - * Removes the given stack from the ones registered for the given call. - * - * @param c the call that the stack is associated with - * @param stack the stack to unregister - */ - protected void unregisterCallStack(CFGCall c, T stack) { - Collection stacks = callStacks.get(c); - if (stacks.size() == 1) - callStacks.remove(c); - else - stacks.remove(stack); - } - - @Override - public final boolean limitReached() { - return !lastPush; - } -} 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 3de6bb91e..6039a927a 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 @@ -2,7 +2,6 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; -import org.junit.Ignore; import org.junit.Test; import it.unive.lisa.AnalysisSetupException; @@ -18,7 +17,7 @@ import it.unive.lisa.interprocedural.ContextBasedAnalysis; import it.unive.lisa.interprocedural.ContextInsensitiveToken; import it.unive.lisa.interprocedural.KDepthToken; -import it.unive.lisa.interprocedural.LastScopeToken; +import it.unive.lisa.interprocedural.LastCallToken; import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; @@ -120,8 +119,7 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { perform(conf); } - @Test - @Ignore + @Test(expected = AssertionError.class) public void testRecursionWithRecFreeToken() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; @@ -138,8 +136,7 @@ public void testRecursionWithRecFreeToken() throws AnalysisSetupException { perform(conf); } - @Test - @Ignore + @Test(expected = AssertionError.class) public void testRecursionWithLastToken() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; @@ -148,7 +145,7 @@ public void testRecursionWithLastToken() throws AnalysisSetupException { getDefaultFor(HeapDomain.class), new Interval(), getDefaultFor(TypeDomain.class)); - conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastScopeToken.getSingleton()); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; conf.testSubDir = "recLastToken"; @@ -156,7 +153,7 @@ public void testRecursionWithLastToken() throws AnalysisSetupException { perform(conf); } - @Test + @Test(expected = AssertionError.class) public void testRecursionWithKDepthToken() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; @@ -173,8 +170,7 @@ public void testRecursionWithKDepthToken() throws AnalysisSetupException { perform(conf); } - @Test - @Ignore + @Test(expected = AssertionError.class) public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; 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..bb410e267 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 @@ -1,5 +1,16 @@ package it.unive.lisa.conf; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.nio.file.Paths; +import java.util.Collection; +import java.util.HashSet; +import java.util.Map; +import java.util.TreeMap; +import java.util.function.Predicate; + +import org.apache.commons.io.FilenameUtils; + import it.unive.lisa.LiSA; import it.unive.lisa.LiSAFactory; import it.unive.lisa.analysis.AbstractState; @@ -14,20 +25,10 @@ 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; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.nio.file.Paths; -import java.util.Collection; -import java.util.HashSet; -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. @@ -347,8 +348,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/util/collections/CollectionUtilities.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java index 1cdf047ab..4cd272b94 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,50 @@ public Set characteristics() { return Set.of(Characteristics.IDENTITY_FINISH); } } + + /** + * A {@link Collector} that yields a {@link String}. + * + * @author Luca Negrini + * + * @param the type of the elements to be sorted + */ + public static class StringCollector implements Collector { + + private final String separator; + + 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(); + } + } } From 65701f94bb6c6fbd68dbdb48601dfd04a33fbe4d Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 22 Mar 2023 12:49:59 +0100 Subject: [PATCH 08/33] Using tokens hashcode in filenames #254 --- .../RTAContextSensitive1/report.json | 8 +- ...n => untyped_A.A(A__this)_1677856240.json} | 0 ...untyped_A.getOne(A__this)_1677863959.json} | 0 ...itive(A__this,_untyped_i)_1677876514.json} | 0 ...itive(A__this,_untyped_i)_1677877444.json} | 0 .../RTAContextSensitive2/report.json | 8 +- ...n => untyped_A.A(A__this)_1678785558.json} | 0 ...ntity(A__this,_untyped_i)_1678799291.json} | 0 ...ntity(A__this,_untyped_i)_1678800035.json} | 0 ...ntity(A__this,_untyped_i)_1678804902.json} | 0 ...ed_i,_untyped_dispatcher)_1678799167.json} | 0 .../RTAContextSensitive3/report.json | 8 +- ...n => untyped_A.A(A__this)_1679709079.json} | 0 ...ntity(A__this,_untyped_i)_1679722781.json} | 0 ...ed_i,_untyped_dispatcher)_1679727400.json} | 0 ...ed_i,_untyped_dispatcher)_1679732267.json} | 0 .../RTAContextSensitive4/report.json | 8 +- .../untyped_A.A(A__this)_-948740509.json | 1 - .../untyped_A.A(A__this)_1679709079.json | 1 + ...ntity(A__this,_untyped_i)_-1372173420.json | 1 - ...ntity(A__this,_untyped_i)_-2083151821.json | 1 + ...ntity(A__this,_untyped_i)_-2083302698.json | 1 + ...entity(A__this,_untyped_i)_1187802577.json | 1 - ...ped_i,_untyped_dispatcher)_-834160479.json | 1 - ...ped_i,_untyped_dispatcher)_-891423586.json | 1 - ...ped_i,_untyped_dispatcher)_1679727400.json | 1 + ...ped_i,_untyped_dispatcher)_1679732267.json | 1 + .../RTAContextSensitive5/report.json | 8 +- ..._a,_untyped_b,_untyped_c)_1680644876.json} | 0 ..._a,_untyped_b,_untyped_c)_1680645868.json} | 0 ...ntity(A__this,_untyped_x)_1680635948.json} | 0 .../RTAContextSensitive6/report.json | 8 +- ...build(A__this,_untyped_a)_1681564491.json} | 0 ...usOne(A__this,_untyped_x)_1681558446.json} | 0 .../non-interference/interproc/report.json | 8 +- ...assified(Integrity__this)_-2086616829.json | 1 - ...lassified(Integrity__this)_-791177979.json | 1 + ...assified(Integrity__this)_-2057990561.json | 1 - ...lassified(Integrity__this)_-791180831.json | 1 + ...ntegrity__this,_untyped_y)_-509664780.json | 1 - ...Integrity__this,_untyped_y)_119339351.json | 1 - ...Integrity__this,_untyped_y)_451999607.json | 1 + ...Integrity__this,_untyped_y)_452087709.json | 1 + .../imp-testcases/taint/2val/report.json | 8 +- ...nk(main__this,_untyped_v)_1997455120.json} | 0 ...nk(main__this,_untyped_v)_1997455151.json} | 0 ...nk(main__this,_untyped_v)_1997455182.json} | 0 ...nk(main__this,_untyped_v)_1997455337.json} | 0 ...nk(main__this,_untyped_v)_1997455368.json} | 0 ...nk(main__this,_untyped_v)_1997455492.json} | 0 ...nk(main__this,_untyped_v)_1997455554.json} | 0 ...nk(main__this,_untyped_v)_1997455616.json} | 0 ...nk(main__this,_untyped_v)_1997455740.json} | 0 ...nk(main__this,_untyped_v)_1997455802.json} | 0 ...nk(main__this,_untyped_v)_1997455864.json} | 0 ...nk(main__this,_untyped_v)_1997455926.json} | 0 ...nk(main__this,_untyped_v)_1997455988.json} | 0 ...nk(main__this,_untyped_v)_1997456050.json} | 0 ...nk(main__this,_untyped_v)_1997456112.json} | 0 ...nk(main__this,_untyped_v)_1997456174.json} | 0 ...nk(main__this,_untyped_v)_1997456236.json} | 0 ...nk(main__this,_untyped_v)_1997456360.json} | 0 ...nk(main__this,_untyped_v)_1997456422.json} | 0 ...nk(main__this,_untyped_v)_1997456484.json} | 0 ...nk(main__this,_untyped_v)_1997456546.json} | 0 ...nk(main__this,_untyped_v)_1997456608.json} | 0 ...nk(main__this,_untyped_v)_1997456670.json} | 0 ...nk(main__this,_untyped_v)_1997456732.json} | 0 ...nk(main__this,_untyped_v)_1997456794.json} | 0 ...nk(main__this,_untyped_v)_1997456856.json} | 0 ...nk(main__this,_untyped_v)_1997456918.json} | 0 ...nk(main__this,_untyped_v)_1997456980.json} | 0 ...nk(main__this,_untyped_v)_1997457042.json} | 0 ...nk(main__this,_untyped_v)_1997457104.json} | 0 ...nk(main__this,_untyped_v)_1997457166.json} | 0 ...nk(main__this,_untyped_v)_1997457228.json} | 0 ...nk(main__this,_untyped_v)_1997457290.json} | 0 ...nk(main__this,_untyped_v)_1997457352.json} | 0 ...nk(main__this,_untyped_v)_1997457414.json} | 0 ...nk(main__this,_untyped_v)_1997457476.json} | 0 ...nk(main__this,_untyped_v)_1997457538.json} | 0 ...nk(main__this,_untyped_v)_1997457600.json} | 0 ...d_main.source(main__this)_1997461041.json} | 0 ...d_main.source(main__this)_1997463738.json} | 0 .../imp-testcases/taint/3val/report.json | 8 +- ...nk(main__this,_untyped_v)_1997455120.json} | 0 ...nk(main__this,_untyped_v)_1997455151.json} | 0 ...nk(main__this,_untyped_v)_1997455182.json} | 0 ...nk(main__this,_untyped_v)_1997455337.json} | 0 ...nk(main__this,_untyped_v)_1997455368.json} | 0 ...nk(main__this,_untyped_v)_1997455492.json} | 0 ...nk(main__this,_untyped_v)_1997455554.json} | 0 ...nk(main__this,_untyped_v)_1997455616.json} | 0 ...nk(main__this,_untyped_v)_1997455740.json} | 0 ...nk(main__this,_untyped_v)_1997455802.json} | 0 ...nk(main__this,_untyped_v)_1997455864.json} | 0 ...nk(main__this,_untyped_v)_1997455926.json} | 0 ...nk(main__this,_untyped_v)_1997455988.json} | 0 ...nk(main__this,_untyped_v)_1997456050.json} | 0 ...nk(main__this,_untyped_v)_1997456112.json} | 0 ...nk(main__this,_untyped_v)_1997456174.json} | 0 ...nk(main__this,_untyped_v)_1997456236.json} | 0 ...nk(main__this,_untyped_v)_1997456360.json} | 0 ...nk(main__this,_untyped_v)_1997456422.json} | 0 ...nk(main__this,_untyped_v)_1997456484.json} | 0 ...nk(main__this,_untyped_v)_1997456546.json} | 0 ...nk(main__this,_untyped_v)_1997456608.json} | 0 ...nk(main__this,_untyped_v)_1997456670.json} | 0 ...nk(main__this,_untyped_v)_1997456732.json} | 0 ...nk(main__this,_untyped_v)_1997456794.json} | 0 ...nk(main__this,_untyped_v)_1997456856.json} | 0 ...nk(main__this,_untyped_v)_1997456918.json} | 0 ...nk(main__this,_untyped_v)_1997456980.json} | 0 ...nk(main__this,_untyped_v)_1997457042.json} | 0 ...nk(main__this,_untyped_v)_1997457104.json} | 0 ...nk(main__this,_untyped_v)_1997457166.json} | 0 ...nk(main__this,_untyped_v)_1997457228.json} | 0 ...nk(main__this,_untyped_v)_1997457290.json} | 0 ...nk(main__this,_untyped_v)_1997457352.json} | 0 ...nk(main__this,_untyped_v)_1997457414.json} | 0 ...nk(main__this,_untyped_v)_1997457476.json} | 0 ...nk(main__this,_untyped_v)_1997457538.json} | 0 ...nk(main__this,_untyped_v)_1997457600.json} | 0 ...d_main.source(main__this)_1997461041.json} | 0 ...d_main.source(main__this)_1997463738.json} | 0 .../visualization/dot/report.json | 8 +- .../dot/untyped_A.A(A__this)_354460623.dot | 1 - .../dot/untyped_A.A(A__this)_845473647.dot | 14 + .../untyped_A.getOne(A__this)_845491937.dot | 21 + .../untyped_A.getOne(A__this)_984360566.dot | 1 - ...Positive(A__this,_untyped_i)_845492898.dot | 19 + ...Positive(A__this,_untyped_i)_984361527.dot | 1 - ...dentity(A__this,_untyped_i)_1012965692.dot | 1 - ...dentity(A__this,_untyped_i)_1070248980.dot | 1 - ...dentity(A__this,_untyped_i)_1285788509.dot | 14 + ...dentity(A__this,_untyped_i)_1726458834.dot | 1 - ...identity(A__this,_untyped_i)_845488124.dot | 14 + ...identity(A__this,_untyped_i)_845492991.dot | 14 + ...yped_i,_untyped_dispatcher)_1098852184.dot | 1 - ...typed_i,_untyped_dispatcher)_845487256.dot | 12 + .../visualization/graphml-sub/report.json | 8 +- .../untyped_A.A(A__this)_354460623.graphml | 1 - .../untyped_A.A(A__this)_845473647.graphml | 329 +++++ ...ntyped_A.getOne(A__this)_845491937.graphml | 1080 +++++++++++++++++ ...ntyped_A.getOne(A__this)_984360566.graphml | 1 - ...tive(A__this,_untyped_i)_845492898.graphml | 874 +++++++++++++ ...tive(A__this,_untyped_i)_984361527.graphml | 1 - ...ity(A__this,_untyped_i)_1012965692.graphml | 1 - ...ity(A__this,_untyped_i)_1070248980.graphml | 1 - ...ity(A__this,_untyped_i)_1285788509.graphml | 1025 ++++++++++++++++ ...ity(A__this,_untyped_i)_1726458834.graphml | 1 - ...tity(A__this,_untyped_i)_845488124.graphml | 545 +++++++++ ...tity(A__this,_untyped_i)_845492991.graphml | 705 +++++++++++ ..._i,_untyped_dispatcher)_1098852184.graphml | 1 - ...d_i,_untyped_dispatcher)_845487256.graphml | 674 ++++++++++ .../visualization/graphml/report.json | 8 +- .../untyped_A.A(A__this)_354460623.graphml | 1 - .../untyped_A.A(A__this)_845473647.graphml | 183 +++ ...ntyped_A.getOne(A__this)_845491937.graphml | 343 ++++++ ...ntyped_A.getOne(A__this)_984360566.graphml | 1 - ...tive(A__this,_untyped_i)_845492898.graphml | 340 ++++++ ...tive(A__this,_untyped_i)_984361527.graphml | 1 - ...ity(A__this,_untyped_i)_1012965692.graphml | 1 - ...ity(A__this,_untyped_i)_1070248980.graphml | 1 - ...ity(A__this,_untyped_i)_1285788509.graphml | 439 +++++++ ...ity(A__this,_untyped_i)_1726458834.graphml | 1 - ...tity(A__this,_untyped_i)_845488124.graphml | 247 ++++ ...tity(A__this,_untyped_i)_845492991.graphml | 311 +++++ ..._i,_untyped_dispatcher)_1098852184.graphml | 1 - ...d_i,_untyped_dispatcher)_845487256.graphml | 184 +++ .../visualization/html-sub/report.json | 8 +- .../untyped_A.A(A__this)_354460623.html | 1 - .../untyped_A.A(A__this)_845473647.html | 390 ++++++ .../untyped_A.getOne(A__this)_845491937.html | 586 +++++++++ .../untyped_A.getOne(A__this)_984360566.html | 1 - ...ositive(A__this,_untyped_i)_845492898.html | 506 ++++++++ ...ositive(A__this,_untyped_i)_984361527.html | 1 - ...entity(A__this,_untyped_i)_1012965692.html | 1 - ...entity(A__this,_untyped_i)_1070248980.html | 1 - ...entity(A__this,_untyped_i)_1285788509.html | 490 ++++++++ ...entity(A__this,_untyped_i)_1726458834.html | 1 - ...dentity(A__this,_untyped_i)_845488124.html | 430 +++++++ ...dentity(A__this,_untyped_i)_845492991.html | 450 +++++++ ...ped_i,_untyped_dispatcher)_1098852184.html | 1 - ...yped_i,_untyped_dispatcher)_845487256.html | 438 +++++++ .../visualization/html/report.json | 8 +- .../html/untyped_A.A(A__this)_354460623.html | 1 - .../html/untyped_A.A(A__this)_845473647.html | 336 +++++ .../untyped_A.getOne(A__this)_845491937.html | 378 ++++++ .../untyped_A.getOne(A__this)_984360566.html | 1 - ...ositive(A__this,_untyped_i)_845492898.html | 367 ++++++ ...ositive(A__this,_untyped_i)_984361527.html | 1 - ...entity(A__this,_untyped_i)_1012965692.html | 1 - ...entity(A__this,_untyped_i)_1070248980.html | 1 - ...entity(A__this,_untyped_i)_1285788509.html | 368 ++++++ ...entity(A__this,_untyped_i)_1726458834.html | 1 - ...dentity(A__this,_untyped_i)_845488124.html | 344 ++++++ ...dentity(A__this,_untyped_i)_845492991.html | 352 ++++++ ...ped_i,_untyped_dispatcher)_1098852184.html | 1 - ...yped_i,_untyped_dispatcher)_845487256.html | 328 +++++ .../ContextInsensitiveToken.java | 13 + .../lisa/interprocedural/KDepthToken.java | 34 +- .../lisa/interprocedural/LastCallToken.java | 31 +- .../interprocedural/RecursionFreeToken.java | 37 +- .../lisa/cron/taint/TaintAnalysesTest.java | 52 +- .../main/java/it/unive/lisa/LiSARunner.java | 4 +- .../CheckToolWithAnalysisResults.java | 21 +- 207 files changed, 13348 insertions(+), 159 deletions(-) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/{untyped_A.A(A__this)_-1137467753.json => untyped_A.A(A__this)_1677856240.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/{untyped_A.getOne(A__this)_-1136543333.json => untyped_A.getOne(A__this)_1677863959.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/{untyped_A.getPositive(A__this,_untyped_i)_-1134695237.json => untyped_A.getPositive(A__this,_untyped_i)_1677876514.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/{untyped_A.getPositive(A__this,_untyped_i)_-1135618727.json => untyped_A.getPositive(A__this,_untyped_i)_1677877444.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/{untyped_A.A(A__this)_-1429946402.json => untyped_A.A(A__this)_1678785558.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/{untyped_A.identity(A__this,_untyped_i)_-1402239687.json => untyped_A.identity(A__this,_untyped_i)_1678799291.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/{untyped_A.identity(A__this,_untyped_i)_-1428098244.json => untyped_A.identity(A__this,_untyped_i)_1678800035.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/{untyped_A.identity(A__this,_untyped_i)_-1426250396.json => untyped_A.identity(A__this,_untyped_i)_1678804902.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/{untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1425327712.json => untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1678799167.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/{untyped_A.A(A__this)_-1723349409.json => untyped_A.A(A__this)_1679709079.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/{untyped_A.identity(A__this,_untyped_i)_-1696566215.json => untyped_A.identity(A__this,_untyped_i)_1679722781.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/{untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1721500476.json => untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/{untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-1719653279.json => untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json} (100%) delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_-948740509.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.A(A__this)_1679709079.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-1372173420.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083151821.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_-2083302698.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_A.identity(A__this,_untyped_i)_1187802577.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-834160479.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_-891423586.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679727400.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1679732267.json rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/{untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2042609950.json => untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680644876.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/{untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_-2041686398.json => untyped_A.build(A__this,_untyped_a,_untyped_b,_untyped_c)_1680645868.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/{untyped_A.identity(A__this,_untyped_x)_1603223804.json => untyped_A.identity(A__this,_untyped_x)_1680635948.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/{untyped_A.build(A__this,_untyped_a)_1957107173.json => untyped_A.build(A__this,_untyped_a)_1681564491.json} (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/{untyped_A.plusOne(A__this,_untyped_x)_1730459450.json => untyped_A.plusOne(A__this,_untyped_x)_1681558446.json} (100%) delete mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-2086616829.json create mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec5ex1_declassified(Integrity__this)_-791177979.json delete mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-2057990561.json create mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json delete mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_-509664780.json delete mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_119339351.json create mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_451999607.json create mode 100644 lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.declassify(Integrity__this,_untyped_y)_452087709.json rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1833522976.json => untyped_main.sink(main__this,_untyped_v)_1997455120.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1834446497.json => untyped_main.sink(main__this,_untyped_v)_1997455151.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1835370018.json => untyped_main.sink(main__this,_untyped_v)_1997455182.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1859381564.json => untyped_main.sink(main__this,_untyped_v)_1997455337.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1860305085.json => untyped_main.sink(main__this,_untyped_v)_1997455368.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1863999169.json => untyped_main.sink(main__this,_untyped_v)_1997455492.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1865846211.json => untyped_main.sink(main__this,_untyped_v)_1997455554.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1887087194.json => untyped_main.sink(main__this,_untyped_v)_1997455616.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1890781278.json => untyped_main.sink(main__this,_untyped_v)_1997455740.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1892628320.json => untyped_main.sink(main__this,_untyped_v)_1997455802.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1894475362.json => untyped_main.sink(main__this,_untyped_v)_1997455864.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1915716345.json => untyped_main.sink(main__this,_untyped_v)_1997455926.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1917563387.json => untyped_main.sink(main__this,_untyped_v)_1997455988.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1919410429.json => untyped_main.sink(main__this,_untyped_v)_1997456050.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1921257471.json => untyped_main.sink(main__this,_untyped_v)_1997456112.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1923104513.json => untyped_main.sink(main__this,_untyped_v)_1997456174.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1944345496.json => untyped_main.sink(main__this,_untyped_v)_1997456236.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1948039580.json => untyped_main.sink(main__this,_untyped_v)_1997456360.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1949886622.json => untyped_main.sink(main__this,_untyped_v)_1997456422.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1951733664.json => untyped_main.sink(main__this,_untyped_v)_1997456484.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1972974647.json => untyped_main.sink(main__this,_untyped_v)_1997456546.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1974821689.json => untyped_main.sink(main__this,_untyped_v)_1997456608.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1976668731.json => untyped_main.sink(main__this,_untyped_v)_1997456670.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1978515773.json => untyped_main.sink(main__this,_untyped_v)_1997456732.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_1980362815.json => untyped_main.sink(main__this,_untyped_v)_1997456794.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2001603798.json => untyped_main.sink(main__this,_untyped_v)_1997456856.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2003450840.json => untyped_main.sink(main__this,_untyped_v)_1997456918.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2005297882.json => untyped_main.sink(main__this,_untyped_v)_1997456980.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2007144924.json => untyped_main.sink(main__this,_untyped_v)_1997457042.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2008991966.json => untyped_main.sink(main__this,_untyped_v)_1997457104.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2030232949.json => untyped_main.sink(main__this,_untyped_v)_1997457166.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2032079991.json => untyped_main.sink(main__this,_untyped_v)_1997457228.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2033927033.json => untyped_main.sink(main__this,_untyped_v)_1997457290.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2035774075.json => untyped_main.sink(main__this,_untyped_v)_1997457352.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2037621117.json => untyped_main.sink(main__this,_untyped_v)_1997457414.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2058862100.json => untyped_main.sink(main__this,_untyped_v)_1997457476.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2060709142.json => untyped_main.sink(main__this,_untyped_v)_1997457538.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.sink(main__this,_untyped_v)_2062556184.json => untyped_main.sink(main__this,_untyped_v)_1997457600.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.source(main__this)_1857534708.json => untyped_main.source(main__this)_1997461041.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/2val/{untyped_main.source(main__this)_1832600385.json => untyped_main.source(main__this)_1997463738.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1833522976.json => untyped_main.sink(main__this,_untyped_v)_1997455120.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1834446497.json => untyped_main.sink(main__this,_untyped_v)_1997455151.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1835370018.json => untyped_main.sink(main__this,_untyped_v)_1997455182.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1859381564.json => untyped_main.sink(main__this,_untyped_v)_1997455337.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1860305085.json => untyped_main.sink(main__this,_untyped_v)_1997455368.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1863999169.json => untyped_main.sink(main__this,_untyped_v)_1997455492.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1865846211.json => untyped_main.sink(main__this,_untyped_v)_1997455554.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1887087194.json => untyped_main.sink(main__this,_untyped_v)_1997455616.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1890781278.json => untyped_main.sink(main__this,_untyped_v)_1997455740.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1892628320.json => untyped_main.sink(main__this,_untyped_v)_1997455802.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1894475362.json => untyped_main.sink(main__this,_untyped_v)_1997455864.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1915716345.json => untyped_main.sink(main__this,_untyped_v)_1997455926.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1917563387.json => untyped_main.sink(main__this,_untyped_v)_1997455988.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1919410429.json => untyped_main.sink(main__this,_untyped_v)_1997456050.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1921257471.json => untyped_main.sink(main__this,_untyped_v)_1997456112.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1923104513.json => untyped_main.sink(main__this,_untyped_v)_1997456174.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1944345496.json => untyped_main.sink(main__this,_untyped_v)_1997456236.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1948039580.json => untyped_main.sink(main__this,_untyped_v)_1997456360.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1949886622.json => untyped_main.sink(main__this,_untyped_v)_1997456422.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1951733664.json => untyped_main.sink(main__this,_untyped_v)_1997456484.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1972974647.json => untyped_main.sink(main__this,_untyped_v)_1997456546.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1974821689.json => untyped_main.sink(main__this,_untyped_v)_1997456608.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1976668731.json => untyped_main.sink(main__this,_untyped_v)_1997456670.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1978515773.json => untyped_main.sink(main__this,_untyped_v)_1997456732.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_1980362815.json => untyped_main.sink(main__this,_untyped_v)_1997456794.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2001603798.json => untyped_main.sink(main__this,_untyped_v)_1997456856.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2003450840.json => untyped_main.sink(main__this,_untyped_v)_1997456918.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2005297882.json => untyped_main.sink(main__this,_untyped_v)_1997456980.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2007144924.json => untyped_main.sink(main__this,_untyped_v)_1997457042.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2008991966.json => untyped_main.sink(main__this,_untyped_v)_1997457104.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2030232949.json => untyped_main.sink(main__this,_untyped_v)_1997457166.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2032079991.json => untyped_main.sink(main__this,_untyped_v)_1997457228.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2033927033.json => untyped_main.sink(main__this,_untyped_v)_1997457290.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2035774075.json => untyped_main.sink(main__this,_untyped_v)_1997457352.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2037621117.json => untyped_main.sink(main__this,_untyped_v)_1997457414.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2058862100.json => untyped_main.sink(main__this,_untyped_v)_1997457476.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2060709142.json => untyped_main.sink(main__this,_untyped_v)_1997457538.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.sink(main__this,_untyped_v)_2062556184.json => untyped_main.sink(main__this,_untyped_v)_1997457600.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.source(main__this)_1857534708.json => untyped_main.source(main__this)_1997461041.json} (100%) rename lisa/lisa-analyses/imp-testcases/taint/3val/{untyped_main.source(main__this)_1832600385.json => untyped_main.source(main__this)_1997463738.json} (100%) delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_354460623.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.A(A__this)_845473647.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_845491937.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getOne(A__this)_984360566.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_845492898.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.getPositive(A__this,_untyped_i)_984361527.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1012965692.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1070248980.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1285788509.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_1726458834.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845488124.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_A.identity(A__this,_untyped_i)_845492991.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.dot create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/dot/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.dot delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_354460623.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.A(A__this)_845473647.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_845491937.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getOne(A__this)_984360566.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845488124.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_A.identity(A__this,_untyped_i)_845492991.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_354460623.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.A(A__this)_845473647.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_845491937.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getOne(A__this)_984360566.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_845492898.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.getPositive(A__this,_untyped_i)_984361527.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1012965692.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1070248980.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1285788509.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_1726458834.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845488124.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_A.identity(A__this,_untyped_i)_845492991.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.graphml create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/graphml/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.graphml delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_354460623.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.A(A__this)_845473647.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_845491937.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getOne(A__this)_984360566.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_845492898.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.getPositive(A__this,_untyped_i)_984361527.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1012965692.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1070248980.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1285788509.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_1726458834.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845488124.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_A.identity(A__this,_untyped_i)_845492991.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html-sub/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_354460623.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.A(A__this)_845473647.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_845491937.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getOne(A__this)_984360566.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_845492898.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.getPositive(A__this,_untyped_i)_984361527.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1012965692.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1070248980.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1285788509.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_1726458834.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845488124.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_A.identity(A__this,_untyped_i)_845492991.html delete mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_1098852184.html create mode 100644 lisa/lisa-analyses/imp-testcases/visualization/html/untyped_tests.helper(tests__this,_untyped_i,_untyped_dispatcher)_845487256.html diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json index 9a58571ad..fcd0de6e3 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" : "1s 117ms", + "end" : "2023-03-22T12:46:40.853+01:00", "expressions" : "26", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-03-16T22:39:59.114+01:00", + "start" : "2023-03-22T12:46:39.736+01:00", "statements" : "14", "units" : "2", "version" : "0.1b7", 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..e06abceed 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" : "154ms", + "end" : "2023-03-22T12:46:42.038+01:00", "expressions" : "35", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.357+01:00", + "start" : "2023-03-22T12:46:41.884+01:00", "statements" : "17", "units" : "2", "version" : "0.1b7", 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..c62eeffb6 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" : "138ms", + "end" : "2023-03-22T12:46:42.766+01:00", "expressions" : "32", "files" : "5", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.573+01:00", + "start" : "2023-03-22T12:46:42.628+01:00", "statements" : "16", "units" : "2", "version" : "0.1b7", 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..c2d792615 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" : "127ms", + "end" : "2023-03-22T12:46:43.378+01:00", "expressions" : "32", "files" : "6", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:39:59.777+01:00", + "start" : "2023-03-22T12:46:43.251+01:00", "statements" : "16", "units" : "2", "version" : "0.1b7", 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..354e05c88 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", + "duration" : "151ms", + "end" : "2023-03-22T12:46:44.057+01:00", "expressions" : "33", "files" : "4", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:39:59.969+01:00", + "start" : "2023-03-22T12:46:43.906+01:00", "statements" : "10", "units" : "1", "version" : "0.1b7", 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..b28382098 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" : "64ms", + "end" : "2023-03-22T12:46:44.578+01:00", "expressions" : "23", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-16T22:40:00.199+01:00", + "start" : "2023-03-22T12:46:44.514+01:00", "statements" : "7", "units" : "1", "version" : "0.1b7", 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/non-interference/interproc/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json index 482895af0..be2ca08ab 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" : "91ms", + "end" : "2023-03-22T12:46:47.216+01:00", "expressions" : "29", "files" : "5", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-17T17:20:41.774+01:00", + "start" : "2023-03-22T12:46:47.125+01:00", "statements" : "17", "units" : "1", "version" : "0.1b7", 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..4a598e63d --- /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":"_|_"}}}}]} \ 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..1db78c79f --- /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":"_|_"}}}}]} \ 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/taint/2val/report.json b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json index 618e24d3f..c25693786 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 532ms", + "end" : "2023-03-22T13:05:09.424+01:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T12:02:16.840+01:00", + "start" : "2023-03-22T13:05:07.892+01:00", "statements" : "79", "units" : "1", "version" : "0.1b7", 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..735c0e7a3 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" : "604ms", + "end" : "2023-03-22T13:05:12.923+01:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-17T12:02:22.684+01:00", + "start" : "2023-03-22T13:05:12.319+01:00", "statements" : "79", "units" : "1", "version" : "0.1b7", 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/visualization/dot/report.json b/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json index a82d0dfb6..62172788a 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" : "192ms", + "end" : "2023-03-22T12:46:49.998+01:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:07.747+01:00", + "start" : "2023-03-22T12:46:49.806+01:00", "statements" : "21", "units" : "2", "version" : "0.1b7", 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..3ce9dc71e 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" : "405ms", + "end" : "2023-03-22T12:46:49.277+01:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:07.313+01:00", + "start" : "2023-03-22T12:46:48.872+01:00", "statements" : "21", "units" : "2", "version" : "0.1b7", 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..32a61c90b 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" : "190ms", + "end" : "2023-03-22T12:46:51.839+01:00", "expressions" : "49", "files" : "8", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.428+01:00", + "start" : "2023-03-22T12:46:51.649+01:00", "statements" : "21", "units" : "2", "version" : "0.1b7", 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..2ce1a8b8e 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" : "420ms", + "end" : "2023-03-22T12:46:52.718+01:00", "expressions" : "49", "files" : "15", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.623+01:00", + "start" : "2023-03-22T12:46:52.298+01:00", "statements" : "21", "units" : "2", "version" : "0.1b7", 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..a51642374 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" : "384ms", + "end" : "2023-03-22T12:46:50.757+01:00", "expressions" : "49", "files" : "11", "globals" : "0", "members" : "6", "programs" : "1", - "start" : "2023-03-16T22:40:08.021+01:00", + "start" : "2023-03-22T12:46:50.373+01:00", "statements" : "21", "units" : "2", "version" : "0.1b7", 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/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java index bf011ba1c..98687b3cd 100644 --- 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 @@ -41,4 +41,17 @@ public String toString() { public static ContextInsensitiveToken getSingleton() { return new ContextInsensitiveToken(); } + + @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; + } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index 295a8b767..e3ed566ad 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Objects; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; @@ -87,19 +86,38 @@ public String toString() { } @Override - public boolean equals(Object o) { - // we ignore k as it does not matter for equality - if (this == o) + public boolean equals(Object obj) { + if (this == obj) return true; - if (o == null || getClass() != o.getClass()) + if (obj == null) + return false; + if (getClass() != obj.getClass()) return false; - KDepthToken that = (KDepthToken) o; - return Objects.equals(calls, that.calls); + 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 - return Objects.hashCode(calls); + 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; } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java index 67700ec47..37d01c332 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -1,7 +1,5 @@ package it.unive.lisa.interprocedural; -import java.util.Objects; - import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.program.cfg.statement.call.CFGCall; @@ -50,17 +48,34 @@ public String toString() { } @Override - public boolean equals(Object o) { - if (this == o) + public boolean equals(Object obj) { + if (this == obj) return true; - if (o == null || getClass() != o.getClass()) + 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; - LastCallToken that = (LastCallToken) o; - return Objects.equals(call, that.call); + return true; } @Override public int hashCode() { - return Objects.hash(call); + 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; } } 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 index 44ad9ab07..d3ae72c16 100644 --- 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 @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Objects; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; @@ -83,17 +82,35 @@ public String toString() { } @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(calls, that.calls); + 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 int hashCode() { - return Objects.hashCode(calls); + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + RecursionFreeToken other = (RecursionFreeToken) obj; + if (calls == null) { + if (other.calls != null) + return false; + } else if (!calls.equals(other.calls)) + return false; + return true; } } 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..992a79568 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 @@ -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-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/checks/semantic/CheckToolWithAnalysisResults.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResults.java index 4d6a064de..a0733c2fb 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 @@ -1,7 +1,12 @@ package it.unive.lisa.checks.semantic; +import java.util.Collection; +import java.util.Map; + 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,11 +16,10 @@ 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; -import java.util.Collection; -import java.util.Map; /** * An extension of {@link CheckTool} that also contains the results of the @@ -124,13 +128,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; } From 194d7f1b2d528bed22db1b09c64be02ed1ba1af4 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 22 Mar 2023 17:40:12 +0100 Subject: [PATCH 09/33] Refactoring ContextBasedAnalysis and CallWithResult #254 --- .../confidentiality/report.json | 6 +- ...ntiality_lec16(Confidentiality__this).json | 2 +- ...ntiality_lec17(Confidentiality__this).json | 2 +- ...ality_lec18ex1(Confidentiality__this).json | 2 +- ...ality_lec18ex2(Confidentiality__this).json | 2 +- ...ality_lec19ex1(Confidentiality__this).json | 2 +- ...ality_lec19ex2(Confidentiality__this).json | 2 +- ...ality_lec19ex3(Confidentiality__this).json | 2 +- ...ality_lec19ex4(Confidentiality__this).json | 2 +- ...ality_lec19ex5(Confidentiality__this).json | 2 +- ...iality_lec5ex1(Confidentiality__this).json | 2 +- ...iality_lec5ex2(Confidentiality__this).json | 2 +- ...entiality_lec6(Confidentiality__this).json | 2 +- ...entiality_lec7(Confidentiality__this).json | 2 +- ...entiality_lec8(Confidentiality__this).json | 2 +- .../non-interference/integrity/report.json | 6 +- ...rity.integrity_lec16(Integrity__this).json | 2 +- ...rity.integrity_lec17(Integrity__this).json | 2 +- ...y.integrity_lec18ex1(Integrity__this).json | 2 +- ...y.integrity_lec18ex2(Integrity__this).json | 2 +- ...y.integrity_lec19ex1(Integrity__this).json | 2 +- ...y.integrity_lec19ex2(Integrity__this).json | 2 +- ...y.integrity_lec19ex3(Integrity__this).json | 2 +- ...y.integrity_lec19ex4(Integrity__this).json | 2 +- ...y.integrity_lec19ex5(Integrity__this).json | 2 +- ...ty.integrity_lec5ex1(Integrity__this).json | 2 +- ...ty.integrity_lec5ex2(Integrity__this).json | 2 +- ...grity.integrity_lec6(Integrity__this).json | 2 +- ...grity.integrity_lec7(Integrity__this).json | 2 +- ...grity.integrity_lec8(Integrity__this).json | 2 +- .../non-interference/interproc/report.json | 6 +- ...lassified(Integrity__this)_-791177979.json | 2 +- ...lassified(Integrity__this)_-791180831.json | 2 +- ...typed_Integrity.main(Integrity__this).json | 2 +- .../imp-testcases/taint/2val/report.json | 6 +- .../2val/untyped_main.main(main__this).json | 2 +- .../imp-testcases/taint/3val/report.json | 6 +- .../3val/untyped_main.main(main__this).json | 2 +- .../nonInterference/NonInterference.java | 27 ++++ .../interprocedural/ContextBasedAnalysis.java | 142 ++++++++++-------- .../lisa/interprocedural/KDepthToken.java | 5 +- .../ModularWorstCaseAnalysis.java | 1 - .../interprocedural/RecursionFreeToken.java | 5 +- .../EqualityContractVerificationTest.java | 41 +++-- .../heap/pointbased/PointBasedHeapTest.java | 3 +- .../inference/BaseInferredValueTest.java | 3 + .../BaseNonRelationalTypeDomainTest.java | 3 + .../BaseNonRelationalValueDomainTest.java | 3 + .../ContextSensitiveAnalysisTest.java | 3 +- .../lisa/analysis/OptimizedAnalyzedCFG.java | 11 +- .../inference/BaseInferredValue.java | 21 ++- .../value/BaseNonRelationalTypeDomain.java | 17 ++- .../value/BaseNonRelationalValueDomain.java | 17 ++- .../CheckToolWithAnalysisResults.java | 5 +- .../it/unive/lisa/conf/LiSAConfiguration.java | 20 ++- .../lisa/interprocedural/CFGResults.java | 15 ++ .../lisa/interprocedural/FixpointResults.java | 15 ++ .../InterproceduralAnalysis.java | 93 +++++++++++- .../lisa/interprocedural/OpenCallPolicy.java | 5 - .../lisa/interprocedural/ReturnTopPolicy.java | 11 +- .../lisa/interprocedural/WorstCasePolicy.java | 8 +- .../cfg/statement/call/CallWithResult.java | 20 +-- .../lisa/symbolic/value/MemoryPointer.java | 2 +- .../symbolic/value/OutOfScopeIdentifier.java | 18 +-- .../unive/lisa/symbolic/value/Variable.java | 2 +- .../util/collections/CollectionUtilities.java | 9 +- 66 files changed, 403 insertions(+), 218 deletions(-) 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..4a968e5e1 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" : "198ms", + "end" : "2023-03-22T17:37:47.369+01:00", "expressions" : "130", "files" : "14", "globals" : "0", "members" : "14", "programs" : "1", - "start" : "2023-03-17T17:05:28.040+01:00", + "start" : "2023-03-22T17:37:47.171+01:00", "statements" : "70", "units" : "1", "version" : "0.1b7", 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..3eea37294 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" : "212ms", + "end" : "2023-03-22T17:37:46.307+01:00", "expressions" : "130", "files" : "14", "globals" : "0", "members" : "14", "programs" : "1", - "start" : "2023-03-17T17:01:07.698+01:00", + "start" : "2023-03-22T17:37:46.095+01:00", "statements" : "70", "units" : "1", "version" : "0.1b7", 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 be2ca08ab..377687185 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json @@ -9,14 +9,14 @@ "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" : "91ms", - "end" : "2023-03-22T12:46:47.216+01:00", + "duration" : "952ms", + "end" : "2023-03-22T17:29:29.112+01:00", "expressions" : "29", "files" : "5", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-22T12:46:47.125+01:00", + "start" : "2023-03-22T17:29:28.160+01:00", "statements" : "17", "units" : "1", "version" : "0.1b7", 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 index 4a598e63d..b404f888e 100644 --- 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 @@ -1 +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":"_|_"}}}}]} \ No newline at end of file +{"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)_-791180831.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/untyped_Integrity.confidentiality_lec6_declassified(Integrity__this)_-791180831.json index 1db78c79f..fb13797e5 100644 --- 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 @@ -1 +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":"_|_"}}}}]} \ No newline at end of file +{"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.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/taint/2val/report.json b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json index c25693786..2d697504b 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/2val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json @@ -67,14 +67,14 @@ "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 532ms", - "end" : "2023-03-22T13:05:09.424+01:00", + "duration" : "2s 657ms", + "end" : "2023-03-22T17:37:31.876+01:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-22T13:05:07.892+01:00", + "start" : "2023-03-22T17:37:29.219+01:00", "statements" : "79", "units" : "1", "version" : "0.1b7", 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/3val/report.json b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json index 735c0e7a3..f48eb3a02 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/3val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json @@ -67,14 +67,14 @@ "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" : "604ms", - "end" : "2023-03-22T13:05:12.923+01:00", + "duration" : "695ms", + "end" : "2023-03-22T17:37:36.114+01:00", "expressions" : "237", "files" : "41", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-22T13:05:12.319+01:00", + "start" : "2023-03-22T17:37:35.419+01:00", "statements" : "79", "units" : "1", "version" : "0.1b7", 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/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/interprocedural/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java index 5eb2928f6..be82c5011 100644 --- 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 @@ -23,7 +23,6 @@ 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; @@ -32,7 +31,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import java.util.Optional; import java.util.TreeSet; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; @@ -51,16 +49,11 @@ public class ContextBasedAnalysis, H extends HeapDomain, V extends ValueDomain, - T extends TypeDomain> extends CallGraphBasedAnalysis { + 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; @@ -177,15 +170,41 @@ public Collection> getAnalysisResultsOf(CFG cfg) { 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()); + /** + * Runs a fixpoint over the given {@link CFG}. + * + * @param cfg the target of the fixpoint + * @param localToken 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 + */ + protected AnalyzedCFG computeFixpoint( + CFG cfg, + ContextSensitivityToken localToken, + AnalysisState entryState) + throws FixpointException, SemanticException, AnalysisSetupException { + AnalyzedCFG fixpointResult = cfg.fixpoint( + entryState, + 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; } /** @@ -215,6 +234,19 @@ protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) { stacks.remove(stack); } + /** + * Determines the result of the recursive call {@code call}. + * + * @param call the recursive call + * + * @return the result of the call + * + * @throws SemanticException if something goes wrong during the computation + */ + protected AnalysisState handleRecursion(CFGCall call) throws SemanticException { + throw new SemanticException("Recursion found at '" + call + "' : " + token); + } + @Override public AnalysisState getAbstractResultOf( CFGCall call, @@ -222,37 +254,47 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - ScopeToken scope = new ScopeToken(call); token = token.pushCall(call); if (!registerCallStack(call, token)) - throw new SemanticException("Recursion found at '" + call + "' : " + token); - AnalysisState result = entryState.bottom(); + // if we already reached this call with the same token, then + // this is a recursion and we have to use a separate fixpoint + // to compute its result + return handleRecursion(call); + ScopeToken scope = new ScopeToken(call); + 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); - + CFGResults localResults = results.get(cfg); + AnalyzedCFG states = localResults == null ? null : localResults.get(token); 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); + // 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 context and the callee + // context ParameterAssigningStrategy strategy = call.getProgram().getFeatures().getAssigningStrategy(); - Pair, - ExpressionSet[]> prepared = strategy.prepare(call, callState, - this, expressions, formals, actuals); + Pair, ExpressionSet[]> prepared = strategy.prepare( + call, + callState, + this, + expressions, + formals, + locals); AnalysisState exitState; - if (states != null && prepared.getLeft().lessOrEqual(states.getLeft())) + if (states != null && prepared.getLeft().lessOrEqual(states.getEntryState())) // no need to compute the fixpoint: we already have an - // approximation - exitState = states.getRight(); + // (over-)approximation of the result computed starting from an + // over-approximation of the entry state + exitState = states.getExitState(); else { - // compute the result + // compute the result with a fixpoint iteration AnalyzedCFG fixpointResult = null; try { fixpointResult = computeFixpoint(cfg, token, prepared.getLeft()); @@ -263,14 +305,8 @@ public AnalysisState getAbstractResultOf( 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)); + result = result.lub(unscope(call, scope, exitState)); } unregisterCallStack(call, token); @@ -279,20 +315,4 @@ public AnalysisState getAbstractResultOf( 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/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index e3ed566ad..65b494805 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -1,12 +1,11 @@ package it.unive.lisa.interprocedural; +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; -import it.unive.lisa.program.cfg.statement.call.CFGCall; -import it.unive.lisa.util.collections.CollectionUtilities; - /** * A context sensitive token representing an entire call chain up to a fixed * length {@code k}, specified in the singleton creation 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 0b54226b2..46ccdd781 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 @@ -34,7 +34,6 @@ import java.util.Collection; import java.util.Set; import java.util.TreeSet; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; 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 index d3ae72c16..f271fec0f 100644 --- 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 @@ -1,12 +1,11 @@ package it.unive.lisa.interprocedural; +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; -import it.unive.lisa.program.cfg.statement.call.CFGCall; -import it.unive.lisa.util.collections.CollectionUtilities; - /** * A context sensitive token representing an entire call chain until a recursion * is encountered. This corresponds to having an unlimited {@link KDepthToken}, 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 df690e8f8..bdca28426 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 @@ -2,24 +2,6 @@ import static org.junit.Assert.assertTrue; -import java.lang.reflect.Modifier; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.function.Consumer; - -import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang3.tuple.Pair; -import org.graphstream.graph.implementations.SingleGraph; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.reflections.Reflections; -import org.reflections.scanners.SubTypesScanner; - import it.unive.lisa.LiSAFactory.ConfigurableComponent; import it.unive.lisa.analysis.AnalyzedCFG; import it.unive.lisa.analysis.Lattice; @@ -49,9 +31,9 @@ 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.KDepthToken; import it.unive.lisa.interprocedural.callgraph.CallGraphEdge; import it.unive.lisa.interprocedural.callgraph.CallGraphNode; import it.unive.lisa.outputs.json.JsonReport; @@ -132,9 +114,25 @@ import it.unive.lisa.util.datastructures.regex.symbolic.UnknownSymbolicChar; import it.unive.lisa.util.numeric.IntInterval; import it.unive.lisa.util.numeric.MathNumber; +import java.lang.reflect.Modifier; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.function.Consumer; import nl.jqno.equalsverifier.EqualsVerifier; import nl.jqno.equalsverifier.Warning; import nl.jqno.equalsverifier.api.SingleTypeEqualsVerifierApi; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.tuple.Pair; +import org.graphstream.graph.implementations.SingleGraph; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.reflections.Reflections; +import org.reflections.scanners.SubTypesScanner; //This test must live here since this project has all the others in its classpath, and reflections can detect all classes public class EqualityContractVerificationTest { @@ -489,8 +487,9 @@ public void testInterproceduralObjects() { verify(FixpointResults.class, Warning.NONFINAL_FIELDS); Reflections scanner = mkReflections(); for (Class token : scanner.getSubTypesOf(ContextSensitivityToken.class)) - if (token == ContextInsensitiveToken.class) - verify(token, Warning.INHERITED_DIRECTLY_FROM_OBJECT); + if (token == KDepthToken.class) + // k is just a bound on the maximum length, it does not matter + verify(token, verifier -> verifier.withIgnoredFields("k")); else 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 6039a927a..d7633fe5e 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 @@ -2,8 +2,6 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; -import org.junit.Test; - import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -20,6 +18,7 @@ import it.unive.lisa.interprocedural.LastCallToken; import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { 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 6b861c231..05f32bcd2 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; @@ -267,15 +266,7 @@ public AnalysisState getAbstractResultOf( 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/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 a0733c2fb..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 @@ -1,8 +1,5 @@ package it.unive.lisa.checks.semantic; -import java.util.Collection; -import java.util.Map; - import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalyzedCFG; import it.unive.lisa.analysis.SemanticException; @@ -20,6 +17,8 @@ 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; +import java.util.Collection; +import java.util.Map; /** * An extension of {@link CheckTool} that also contains the results of the 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 bb410e267..9923550bc 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 @@ -1,16 +1,5 @@ package it.unive.lisa.conf; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.nio.file.Paths; -import java.util.Collection; -import java.util.HashSet; -import java.util.Map; -import java.util.TreeMap; -import java.util.function.Predicate; - -import org.apache.commons.io.FilenameUtils; - import it.unive.lisa.LiSA; import it.unive.lisa.LiSAFactory; import it.unive.lisa.analysis.AbstractState; @@ -29,6 +18,15 @@ import it.unive.lisa.util.collections.workset.DuplicateFreeFIFOWorkingSet; import it.unive.lisa.util.collections.workset.WorkingSet; import it.unive.lisa.util.file.FileManager; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.nio.file.Paths; +import java.util.Collection; +import java.util.HashSet; +import java.util.Map; +import java.util.TreeMap; +import java.util.function.Predicate; +import org.apache.commons.io.FilenameUtils; /** * A holder for the configuration of a {@link LiSA} analysis. 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..d0ddf06b6 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; @@ -22,11 +23,14 @@ 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. @@ -40,7 +44,8 @@ * @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> { @@ -167,8 +172,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 +181,87 @@ 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) { + return call.getStaticType().isVoidType() + || (call.getStaticType().isUntyped() && returned.getComputedExpressions().isEmpty()) + || (returned.getComputedExpressions().size() == 1 + && returned.getComputedExpressions().iterator().next() instanceof Skip); + } } 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/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/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/symbolic/value/MemoryPointer.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/MemoryPointer.java index 235287fca..6e4fd273d 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 @@ -49,7 +49,7 @@ public MemoryPointer(Type staticType, HeapLocation loc, Annotations annotations, @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..c986d1dcb 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,7 +2,6 @@ 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.symbolic.ExpressionVisitor; import it.unive.lisa.symbolic.SymbolicExpression; @@ -22,15 +21,14 @@ 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()) @@ -39,7 +37,7 @@ public OutOfScopeIdentifier(Identifier id, ScopeToken scope, Annotations annotat @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/Variable.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Variable.java index 676fb1daa..b9b948806 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 @@ -42,7 +42,7 @@ public Variable(Type staticType, String name, Annotations annotations, CodeLocat @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/collections/CollectionUtilities.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/collections/CollectionUtilities.java index 4cd272b94..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 @@ -195,7 +195,9 @@ public Set characteristics() { } /** - * A {@link Collector} that yields a {@link String}. + * 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 * @@ -205,6 +207,11 @@ public static class StringCollector implements Collector Date: Thu, 23 Mar 2023 23:42:13 +0100 Subject: [PATCH 10/33] Minor change to widening/narrowing application --- .../it/unive/lisa/program/cfg/fixpoints/AscendingFixpoint.java | 2 +- .../unive/lisa/program/cfg/fixpoints/DescendingGLBFixpoint.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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); From 76f6ceec5953226659bff1ff006a48b817e4a841 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 23 Mar 2023 23:42:59 +0100 Subject: [PATCH 11/33] Context tokens slide over the call stack #254 --- .../ContextInsensitiveToken.java | 48 ++++++++---- .../ContextSensitivityToken.java | 53 +++++++------ .../lisa/interprocedural/KDepthToken.java | 74 ++++++++++--------- .../lisa/interprocedural/LastCallToken.java | 45 +++++++---- .../interprocedural/RecursionFreeToken.java | 74 +++++++++---------- 5 files changed, 162 insertions(+), 132 deletions(-) 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 index 98687b3cd..2e86d98d1 100644 --- 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 @@ -1,11 +1,17 @@ package it.unive.lisa.interprocedural; +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + 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. + * together regardless of the call site. This corresponds to having a + * {@link KDepthToken} with {@code k = 0}. */ public class ContextInsensitiveToken implements ContextSensitivityToken { @@ -13,21 +19,6 @@ private ContextInsensitiveToken() { super(); } - @Override - public ContextInsensitiveToken empty() { - return new ContextInsensitiveToken(); - } - - @Override - public ContextInsensitiveToken pushCall(CFGCall c) { - return this; - } - - @Override - public ContextInsensitiveToken popCall(CFGCall c) { - return this; - } - @Override public String toString() { return ""; @@ -54,4 +45,29 @@ public boolean equals(Object obj) { // instances are still unique return this == obj; } + + @Override + public ScopeId startingId() { + return getSingleton(); + } + + @Override + public boolean isStartingId() { + return true; + } + + @Override + public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { + return this; + } + + @Override + public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + return this; + } + + @Override + public List getKnownCalls() { + return Collections.emptyList(); + } } 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 index f97bec2be..a95d3b21c 100644 --- 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 @@ -1,52 +1,51 @@ package it.unive.lisa.interprocedural; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * A token for interprocedural analysis that tunes the level of context - * sensitivity. + * 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 { /** - * A token without any context sensitivity. + * Creates a context sensitive token with the starting from the given stack, + * that represents the current call stack complete with each call's token. + * The call {@code c} is the new one being pushed on the stack. + * + * @param stack the stack to use as base + * @param c the {@link CFGCall} to be pushed at the top of the token * - * @return an empty context sensitive token + * @return the created token */ - ContextSensitivityToken empty(); + ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c); /** - * Creates a context sensitive token with the given call on the top of the - * stack. + * Creates a context sensitive token with the starting from the given (and + * possibly partial) stack. The call {@code c} is the new one being pushed + * on the stack. * - * @param c the {@link CFGCall} to be pushed at the top of the token + * @param stack the stack to use as base + * @param c the {@link CFGCall} to be pushed at the top of the token * - * @return a token with the given call on the top of the call stack + * @return the created token */ - ContextSensitivityToken pushCall(CFGCall c); + ContextSensitivityToken pushOnStack(List stack, CFGCall c); /** - * Creates a context sensitive token popping the call on top of the stack. + * Yields the call stack considered by this token. * - * @param c the {@link CFGCall} to be popped from the top of the token - * - * @return a token without the this token's top call + * @return the call stack */ - ContextSensitivityToken popCall(CFGCall c); - - @Override - default ScopeId startingId() { - return empty(); - } - - @Override - default ScopeId push(CFGCall c) { - return pushCall(c); - } + List getKnownCalls(); @Override - default boolean isStartingId() { - ContextSensitivityToken empty = empty(); - return this == empty || equals(empty); + default ContextSensitivityToken push(CFGCall c) { + return pushOnStack(getKnownCalls(), c); } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index 65b494805..a2e28dff6 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -6,6 +6,8 @@ import java.util.Collections; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; + /** * A context sensitive token representing an entire call chain up to a fixed * length {@code k}, specified in the singleton creation @@ -22,49 +24,21 @@ private KDepthToken(int k) { this.calls = Collections.emptyList(); } - private KDepthToken(int k, List tokens, CFGCall newToken) { + private KDepthToken(int k, List> tokens, CFGCall newToken) { this.k = k; int oldlen = tokens.size(); - if (oldlen == k) { - this.calls = new ArrayList<>(k); - // we skip the oldest one - tokens.stream().skip(1).forEach(this.calls::add); + if (oldlen < k) { + this.calls = new ArrayList<>(oldlen + 1); + tokens.stream().forEach(t -> this.calls.add(t.getLeft())); this.calls.add(newToken); } else { - this.calls = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(this.calls::add); + this.calls = new ArrayList<>(k); + // we only keep the last k-1 elements + tokens.stream().skip(oldlen - k + 1).forEach(t -> this.calls.add(t.getLeft())); this.calls.add(newToken); } } - private KDepthToken(int k, List tokens) { - this.k = k; - int oldsize = tokens.size(); - if (oldsize == 1) - this.calls = Collections.emptyList(); - else { - this.calls = new ArrayList<>(oldsize - 1); - tokens.stream().limit(oldsize - 1).forEach(this.calls::add); - } - } - - @Override - public ContextSensitivityToken empty() { - return new KDepthToken(k); - } - - @Override - public ContextSensitivityToken pushCall(CFGCall c) { - return new KDepthToken(k, calls, c); - } - - @Override - public ContextSensitivityToken popCall(CFGCall c) { - if (calls.isEmpty()) - return this; - return new KDepthToken(k, calls); - } - /** * Return an empty token. * @@ -119,4 +93,34 @@ public int hashCode() { result = prime * result + call.getLocation().hashCode(); return result; } + + @Override + public ScopeId startingId() { + return getSingleton(k); + } + + @Override + public boolean isStartingId() { + return calls.isEmpty(); + } + + @Override + public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { + return new KDepthToken(k, stack, c); + } + + @Override + public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + // this variant is called less often, so it's better to put the overhead + // for creating an intermediate list here - we cannot have two + // constructors due to type erasure :( + List> updated = new ArrayList<>(stack.size()); + stack.stream().forEach(t -> updated.add(Pair.of(t, null))); + return new KDepthToken(k, updated, c); + } + + @Override + public List getKnownCalls() { + return calls; + } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java index 37d01c332..9f3cd7502 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -1,5 +1,10 @@ package it.unive.lisa.interprocedural; +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.program.cfg.statement.call.CFGCall; @@ -18,21 +23,6 @@ private LastCallToken(CFGCall call) { this.call = call; } - @Override - public LastCallToken empty() { - return new LastCallToken(null); - } - - @Override - public LastCallToken pushCall(CFGCall c) { - return new LastCallToken(c); - } - - @Override - public LastCallToken popCall(CFGCall c) { - return new LastCallToken(null); - } - /** * Return an empty token. * @@ -78,4 +68,29 @@ public int hashCode() { result = prime * result + call.getLocation().hashCode(); return result; } + + @Override + public ScopeId startingId() { + return getSingleton(); + } + + @Override + public boolean isStartingId() { + return call == null; + } + + @Override + public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { + return new LastCallToken(c); + } + + @Override + public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + return new LastCallToken(c); + } + + @Override + public List getKnownCalls() { + return call == null ? Collections.emptyList() : Collections.singletonList(call); + } } 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 index f271fec0f..e5c997151 100644 --- 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 @@ -6,10 +6,12 @@ import java.util.Collections; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; + /** * A context sensitive token representing an entire call chain until a recursion * is encountered. This corresponds to having an unlimited {@link KDepthToken}, - * that only stops when a token that is already part of the chain is pushed. + * that will thus not ensure termination on recursions. */ public class RecursionFreeToken implements ContextSensitivityToken { @@ -21,48 +23,12 @@ private RecursionFreeToken() { calls = Collections.emptyList(); } - private RecursionFreeToken(List tokens, CFGCall newToken) { + private RecursionFreeToken(List> tokens, CFGCall newToken) { this.calls = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(this.calls::add); + tokens.stream().forEach(t -> this.calls.add(t.getKey())); this.calls.add(newToken); } - private RecursionFreeToken(List tokens) { - int oldsize = tokens.size(); - if (oldsize == 1) - this.calls = Collections.emptyList(); - else { - this.calls = new ArrayList<>(oldsize - 1); - tokens.stream().limit(oldsize - 1).forEach(this.calls::add); - } - } - - private RecursionFreeToken(RecursionFreeToken other) { - calls = other.calls; - } - - @Override - public ContextSensitivityToken empty() { - return new RecursionFreeToken(); - } - - @Override - public ContextSensitivityToken pushCall(CFGCall c) { - // we try to prevent recursions here: it's better - // to look for them starting from the end of the array - for (int i = calls.size() - 1; i >= 0; i--) - if (calls.get(i).equals(c)) - return new RecursionFreeToken(this); - return new RecursionFreeToken(calls, c); - } - - @Override - public ContextSensitivityToken popCall(CFGCall c) { - if (calls.isEmpty()) - return this; - return new RecursionFreeToken(calls); - } - /** * Return an empty token. * @@ -112,4 +78,34 @@ public boolean equals(Object obj) { return false; return true; } + + @Override + public ScopeId startingId() { + return getSingleton(); + } + + @Override + public boolean isStartingId() { + return calls.isEmpty(); + } + + @Override + public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { + return new RecursionFreeToken(stack, c); + } + + @Override + public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + // this variant is called less often, so it's better to put the overhead + // for creating an intermediate list here - we cannot have two + // constructors due to type erasure :( + List> updated = new ArrayList<>(stack.size()); + stack.stream().forEach(t -> updated.add(Pair.of(t, null))); + return new RecursionFreeToken(updated, c); + } + + @Override + public List getKnownCalls() { + return calls; + } } From 2d5ecf56282f78248ac8bed80cc5daaca7a9f1d3 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 23 Mar 2023 23:43:17 +0100 Subject: [PATCH 12/33] First draft of recursion handling #254 --- .../interprocedural/ContextBasedAnalysis.java | 239 ++++++++++++------ 1 file changed, 159 insertions(+), 80 deletions(-) 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 index be82c5011..48f1dc507 100644 --- 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 @@ -1,5 +1,15 @@ package it.unive.lisa.interprocedural; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.TreeSet; + +import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import it.unive.lisa.AnalysisExecutionException; import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.DefaultParameters; @@ -26,15 +36,6 @@ 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.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.TreeSet; -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 @@ -54,17 +55,17 @@ public class ContextBasedAnalysis, private static final Logger LOG = LogManager.getLogger(ContextBasedAnalysis.class); - private FixpointResults results; + private final ContextSensitivityToken tokenCreator; - private ContextSensitivityToken token; + private final Collection fixpointTriggers; - private Class> fixpointWorkingSet; + private final LinkedList> callStack; - private FixpointConfiguration conf; + private FixpointResults results; - private final Collection fixpointTriggers; + private Class> fixpointWorkingSet; - private final Map> callStacks; + private FixpointConfiguration conf; /** * Builds the analysis, using {@link LastCallToken}s. @@ -80,9 +81,9 @@ public ContextBasedAnalysis() { * context sensitivity */ public ContextBasedAnalysis(ContextSensitivityToken token) { - this.token = token.empty(); + this.tokenCreator = token; fixpointTriggers = new HashSet<>(); - callStacks = new HashMap<>(); + callStack = new LinkedList<>(); } @Override @@ -118,7 +119,7 @@ private static String ordinal(int i) { private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { int iter = 0; - ContextSensitivityToken empty = token.empty(); + ContextSensitivityToken empty = (ContextSensitivityToken) tokenCreator.startingId(); Collection entryPoints = new TreeSet<>( (c1, c2) -> c1.getDescriptor().getLocation().compareTo(c2.getDescriptor().getLocation())); @@ -174,7 +175,7 @@ public Collection> getAnalysisResultsOf(CFG cfg) { * Runs a fixpoint over the given {@link CFG}. * * @param cfg the target of the fixpoint - * @param localToken the scope identifier that identifies the computation + * @param token the scope identifier that identifies the computation * @param entryState the entry state for the fixpoint * * @return the result of the fixpoint computation @@ -187,7 +188,7 @@ public Collection> getAnalysisResultsOf(CFG cfg) { */ protected AnalyzedCFG computeFixpoint( CFG cfg, - ContextSensitivityToken localToken, + ContextSensitivityToken token, AnalysisState entryState) throws FixpointException, SemanticException, AnalysisSetupException { AnalyzedCFG fixpointResult = cfg.fixpoint( @@ -195,8 +196,11 @@ protected AnalyzedCFG computeFixpoint( this, WorkingSet.of(fixpointWorkingSet), conf, - localToken); - Pair> res = results.putResult(cfg, localToken, fixpointResult); + token); + if (recursionStart != -1) + // avoid storing result until the recursion is complete + return fixpointResult; + Pair> res = results.putResult(cfg, token, fixpointResult); if (Boolean.TRUE.equals(res.getLeft())) fixpointTriggers.add(cfg); return res.getRight(); @@ -213,11 +217,17 @@ public FixpointResults getFixpointResults() { * @param c the call that the stack is associated with * @param stack the stack to register * - * @return whether or not the stack has been registered (if {@code false}, - * the stack already exists for the given call) + * @return {@code -1} if the call has been added to the stack, otherwise the + * stack is not modified and the position of the same + * {@code } pair is returned */ - protected boolean registerCallStack(CFGCall c, ContextSensitivityToken stack) { - return callStacks.computeIfAbsent(c, tk -> new HashSet<>()).add(stack); + protected int registerCallStack(CFGCall c, ContextSensitivityToken stack) { + Pair entry = Pair.of(c, stack); + int last = callStack.lastIndexOf(entry); + if (last != -1) + return last; + callStack.addLast(entry); + return -1; } /** @@ -225,26 +235,71 @@ protected boolean registerCallStack(CFGCall c, ContextSensitivityToken stack) { * * @param c the call that the stack is associated with * @param stack the stack to unregister + * + * @throws SemanticException if the top of the call stack does not match the + * {@code } pair */ - protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) { - Collection stacks = callStacks.get(c); - if (stacks.size() == 1) - callStacks.remove(c); - else - stacks.remove(stack); + protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) throws SemanticException { + Pair last = callStack.removeLast(); + if (!last.equals(Pair.of(c, stack))) + throw new SemanticException("Top of the call stack ('" + + last.getLeft() + + "' with stack hash " + + last.getRight().hashCode() + + ") does not match the call that is returning (" + + c + + " with stack hash " + + stack.hashCode() + + ")"); } + private AnalysisState recursiveApprox, previousApprox; + private int recursionCount, recursionStart = -1; + /** * Determines the result of the recursive call {@code call}. * - * @param call the recursive call + * @param recPos the position in the call stack of the call that started the + * recursion + * @param call the recursive call + * @param state a singleton instance of the analysis state + * @param token the token causing the recursion * * @return the result of the call * * @throws SemanticException if something goes wrong during the computation */ - protected AnalysisState handleRecursion(CFGCall call) throws SemanticException { - throw new SemanticException("Recursion found at '" + call + "' : " + token); + protected AnalysisState handleRecursion( + int recPos, + CFGCall call, + AnalysisState state, + ContextSensitivityToken token) + throws SemanticException { + if (recursionStart == -1) { + LOG.info("Found recursion at '" + call + "' with token " + token); + recursionStart = recPos; + recursiveApprox = state.bottom(); + recursionCount = 0; + } else { + LOG.info(ordinal(recursionCount + 2) + " evaluation of recursive chain at '" + call); + if (conf.wideningThreshold < 0) + recursiveApprox = previousApprox.lub(recursiveApprox); + + if (recursionCount == conf.wideningThreshold) + recursiveApprox = previousApprox.widening(recursiveApprox); + else { + recursionCount++; + recursiveApprox = previousApprox.lub(recursiveApprox); + } + } + + AnalysisState approx = recursiveApprox; + if (previousApprox != null && recursiveApprox.lessOrEqual(previousApprox)) { + recursionStart = -1; + recursiveApprox = previousApprox = null; + recursionCount = 0; + } + return approx; } @Override @@ -254,63 +309,87 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - token = token.pushCall(call); - if (!registerCallStack(call, token)) + ContextSensitivityToken token = tokenCreator.pushOnFullStack(callStack, call); + int recPos = registerCallStack(call, token); + if (recPos != -1) // if we already reached this call with the same token, then // this is a recursion and we have to use a separate fixpoint // to compute its result - return handleRecursion(call); + return handleRecursion(recPos, call, entryState, token); ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); - for (CFG cfg : call.getTargetedCFGs()) { - CFGResults localResults = results.get(cfg); - AnalyzedCFG states = localResults == null ? null : localResults.get(token); - 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 context and the callee - // context - ParameterAssigningStrategy strategy = call.getProgram().getFeatures().getAssigningStrategy(); - Pair, ExpressionSet[]> prepared = strategy.prepare( - call, - callState, - this, - expressions, - formals, - locals); - - AnalysisState exitState; - if (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); + + boolean isActiveRecursionHead; + do { + // 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); + 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); + + AnalysisState exitState; + if (recursionStart == -1 && 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 + // note that we skip this entirely if we are evaluating a + // recursive chain, as we don't want to interfere with the + // fixpoint computation, as we must reach the recursion + // point every time without short-cutting to the result + 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(); } - exitState = fixpointResult.getExitState(); + // save the resulting state + result = result.lub(unscope(call, scope, exitState)); } - // save the resulting state - result = result.lub(unscope(call, scope, exitState)); - } + // here, the top of call-stack will be + // we exit if: + // - recursionStart == -1 (no active recursion) + // - recursionStart != callStack.head.position + // otherwise, this is the exact call that starts the + // recursion, and we have to repeat the fixpoint + isActiveRecursionHead = recursionStart != -1 && callStack.size() - 1 == recursionStart; + + if (isActiveRecursionHead) { + // store the result of this computation to use it at the start + // of the next fixpoint iteration + previousApprox = recursiveApprox; + recursiveApprox = result; + } + } while (isActiveRecursionHead); unregisterCallStack(call, token); - token = token.popCall(call); callgraph.registerCall(call); return result; From 381c8fab6a3851fca12ebe0a081faed5f9ff20a0 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Fri, 24 Mar 2023 00:32:45 +0100 Subject: [PATCH 13/33] Meta variables are popped at the end of the statement's evaluation #254 --- .../it/unive/lisa/imp/expressions/IMPNewObj.java | 3 --- .../lisa/program/cfg/fixpoints/CFGFixpoint.java | 2 ++ .../lisa/program/cfg/statement/Expression.java | 15 +++++++-------- .../program/cfg/statement/NaryExpression.java | 12 +++++++++--- .../lisa/program/cfg/statement/NaryStatement.java | 5 +++-- 5 files changed, 21 insertions(+), 16 deletions(-) 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/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/statement/Expression.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java index 13477569c..d74f64093 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,9 @@ package it.unive.lisa.program.cfg.statement; -import it.unive.lisa.analysis.AnalysisState; -import it.unive.lisa.analysis.StatementStore; +import java.util.Collection; +import java.util.HashSet; +import java.util.Objects; + import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.statement.call.Call; @@ -9,9 +11,6 @@ import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; -import java.util.Collection; -import java.util.HashSet; -import java.util.Objects; /** * An expression that is part of a statement of the program. @@ -77,10 +76,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; } From af6d45728f95eecdf2c980cb9be7c5046de4ea94 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Fri, 24 Mar 2023 10:09:59 +0100 Subject: [PATCH 14/33] Fixing convergence on recursions with KDepthToken #254 --- .../it/unive/lisa/interprocedural/ContextBasedAnalysis.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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 index 48f1dc507..ede551296 100644 --- 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 @@ -197,11 +197,9 @@ protected AnalyzedCFG computeFixpoint( WorkingSet.of(fixpointWorkingSet), conf, token); - if (recursionStart != -1) - // avoid storing result until the recursion is complete - return fixpointResult; Pair> res = results.putResult(cfg, token, fixpointResult); - if (Boolean.TRUE.equals(res.getLeft())) + if (recursionStart == -1 && Boolean.TRUE.equals(res.getLeft())) + // avoid re-evaluating the triggers until the recursion is complete fixpointTriggers.add(cfg); return res.getRight(); } From d8af91bcbd4247bd1e4d0006a8f0b5abe1d2bd5f Mon Sep 17 00:00:00 2001 From: lucaneg Date: Fri, 24 Mar 2023 11:41:24 +0100 Subject: [PATCH 15/33] Tests for direct recursions #254 --- .../interprocedural/directRecursion.imp | 15 + .../directRecursion/insensitive/report.json | 36 +++ ...rectRecursion(tests__this,_untyped_n).json | 1 + ...ed_tests.main(tests__this,_untyped_a).json | 1 + .../directRecursion/kdepth/report.json | 36 +++ ...n(tests__this,_untyped_n)_-1245949114.json | 1 + ...n(tests__this,_untyped_n)_-2109682861.json | 1 + ...on(tests__this,_untyped_n)_-240006733.json | 1 + ...on(tests__this,_untyped_n)_-270289677.json | 1 + ...on(tests__this,_untyped_n)_-383152488.json | 1 + ...ion(tests__this,_untyped_n)_-59335258.json | 1 + ...ed_tests.main(tests__this,_untyped_a).json | 1 + .../directRecursion/last/report.json | 36 +++ ...on(tests__this,_untyped_n)_-270289677.json | 1 + ...on(tests__this,_untyped_n)_-270289832.json | 1 + ...ed_tests.main(tests__this,_untyped_a).json | 1 + .../interprocedural/fibonacci.imp | 18 ++ .../infiniteDirectRecursion.imp | 11 + .../interprocedural/infiniteLoop.imp | 21 ++ .../imp-testcases/interprocedural/loop.imp | 25 ++ .../interprocedural/recursion.imp | 70 ---- .../interprocedural/ContextBasedAnalysis.java | 49 +-- .../ContextInsensitiveToken.java | 4 +- .../ContextSensitivityToken.java | 4 +- .../lisa/interprocedural/KDepthToken.java | 1 - .../lisa/interprocedural/LastCallToken.java | 6 +- .../interprocedural/RecursionFreeToken.java | 1 - .../ContextSensitiveAnalysisTest.java | 303 ++++++++++++++++-- .../InterproceduralAnalysis.java | 55 +++- .../program/cfg/controlFlow/IfThenElse.java | 4 +- .../program/cfg/statement/Expression.java | 7 +- .../statement/call/TruncatedParamsCall.java | 9 + 32 files changed, 592 insertions(+), 131 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp new file mode 100644 index 000000000..9a2f5810f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp @@ -0,0 +1,15 @@ +class tests { + + directRecursion(n) { + if (n <= 1) + return 1; + else { + def x = n - 1; + return this.directRecursion(x) + n; + } + } + + main(a) { + def x = this.directRecursion(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/report.json new file mode 100644 index 000000000..395fcc87c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n).json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "923ms", + "end" : "2023-03-24T11:49:28.910+01:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-03-24T11:49:27.987+01: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", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/directRecursion/insensitive" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json new file mode 100644 index 000000000..ca75bc28b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* 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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json new file mode 100644 index 000000000..e8bb17972 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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/directRecursion/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json new file mode 100644 index 000000000..be37e08db --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "1s 231ms", + "end" : "2023-03-24T11:14:13.510+01:00", + "expressions" : "16", + "files" : "7", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-03-24T11:14:12.279+01: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", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/directRecursion/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json new file mode 100644 index 000000000..b6d559a4c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json new file mode 100644 index 000000000..429562915 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json new file mode 100644 index 000000000..683bccdc2 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json new file mode 100644 index 000000000..39d5348a3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json new file mode 100644 index 000000000..05b0534a3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json new file mode 100644 index 000000000..c8d4da1df --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json new file mode 100644 index 000000000..e8bb17972 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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/directRecursion/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/report.json new file mode 100644 index 000000000..d2720e502 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "784ms", + "end" : "2023-03-24T11:21:44.696+01:00", + "expressions" : "16", + "files" : "3", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-03-24T11:21:43.912+01: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", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/directRecursion/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json new file mode 100644 index 000000000..39d5348a3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json new file mode 100644 index 000000000..24ea662d5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json @@ -0,0 +1 @@ +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json new file mode 100644 index 000000000..e8bb17972 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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/fibonacci.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp new file mode 100644 index 000000000..5f8eec6b5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp @@ -0,0 +1,18 @@ +class tests { + + fib(n) { + if (n == 0) + return 1; + else if (n == 1) + 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/infiniteDirectRecursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp new file mode 100644 index 000000000..a158512a8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp @@ -0,0 +1,11 @@ +class tests { + + infiniteDirectRecursion(n) { + def x = n - 1; + return this.infiniteDirectRecursion(x) + n; + } + + main(a) { + def w = this.infiniteDirectRecursion(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp new file mode 100644 index 000000000..f4d893f20 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp @@ -0,0 +1,21 @@ +class tests { + + infiniteLoop(n) { + def x = n - 1; + return this.infiniteLoopAux1(x); + } + + infiniteLoopAux1(n) { + def x = n - 2; + return this.infiniteLoopAux2(x); + } + + infiniteLoopAux2(n) { + def x = n + 1; + return this.infiniteLoop(x); + } + + main(a) { + def k = this.infiniteLoop(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp new file mode 100644 index 000000000..a8ffc4d28 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp @@ -0,0 +1,25 @@ +class tests { + + loop(n) { + if (n < 0) + return 10; + else { + def x = n - 1; + return this.loopAux1(x) + n; + } + } + + loopAux1(n) { + def x = n - 2; + return this.loopAux2(x) + n; + } + + loopAux2(n) { + def x = n + 1; + return this.loop(x) + n; + } + + main(a) { + def z = this.loop(a); + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp deleted file mode 100644 index 5e775a547..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/recursion.imp +++ /dev/null @@ -1,70 +0,0 @@ -class tests { - - loop(n) { - if (n < 0) - return 10; - else { - def x = n - 1; - return this.loopAux1(x) * n; - } - } - - loopAux1(n) { - def x = n - 2; - return this.loopAux2(x) * n; - } - - loopAux2(n) { - def x = n + 1; - return this.loop(x) * n; - } - - directRecursion(n) { - if (n <= 1) - return 1; - else { - def x = n - 1; - return this.directRecursion(x) * n; - } - } - - fib(n) { - if (n == 0) - return 1; - else if (n == 1) - return 1; - else { - def x = n - 1; - def y = n - 2; - return this.fib(x) + this.fib(y); - } - } - - infiniteLoop(n) { - def x = n - 1; - return this.infiniteLoopAux1(x); - } - - infiniteLoopAux1(n) { - def x = n - 2; - return this.infiniteLoopAux2(x); - } - - infiniteLoopAux2(n) { - def x = n + 1; - return this.infiniteLoop(x); - } - - infiniteDirectRecursion(n) { - def x = n - 1; - return this.infiniteDirectRecursion(x) * n; - } - - main(a) { - def x = this.directRecursion(a); - def y = this.fib(a); - def z = this.loop(a); - def w = this.infiniteDirectRecursion(a); - def k = this.infiniteLoop(a); - } -} \ No newline at end of file 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 index ede551296..6645e377f 100644 --- 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 @@ -1,15 +1,5 @@ package it.unive.lisa.interprocedural; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.TreeSet; - -import org.apache.commons.lang3.tuple.Pair; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import it.unive.lisa.AnalysisExecutionException; import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.DefaultParameters; @@ -34,8 +24,17 @@ import it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy; import it.unive.lisa.symbolic.SymbolicExpression; import it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet; +import it.unive.lisa.util.collections.workset.VisitOnceWorkingSet; 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.LinkedList; +import java.util.TreeSet; +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 @@ -150,14 +149,22 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx // 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)); + VisitOnceWorkingSet 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) + callgraph.getCallers(ws.pop()) + .stream() + .filter(CFG.class::isInstance) + .map(CFG.class::cast) .forEach(ws::push); - ws.getSeen().forEach(results::forget); + Collection seen = ws.getSeen(); + seen.removeAll(fixpointTriggers); + seen.forEach(results::forget); iter++; } while (!fixpointTriggers.isEmpty()); @@ -274,12 +281,18 @@ protected AnalysisState handleRecursion( ContextSensitivityToken token) throws SemanticException { if (recursionStart == -1) { - LOG.info("Found recursion at '" + call + "' with token " + token); + LOG.info("Found recursion at '" + call.getLocation() + "' with token " + token); recursionStart = recPos; - recursiveApprox = state.bottom(); + if (returnsVoid(call, null)) + recursiveApprox = state.bottom(); + else + recursiveApprox = new AnalysisState<>( + state.getState().bottom(), + call.getMetaVariable(), + state.getAliasing().bottom()); recursionCount = 0; } else { - LOG.info(ordinal(recursionCount + 2) + " evaluation of recursive chain at '" + call); + LOG.info(ordinal(recursionCount + 2) + " evaluation of recursive chain at '" + call.getLocation()); if (conf.wideningThreshold < 0) recursiveApprox = previousApprox.lub(recursiveApprox); 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 index 2e86d98d1..72d0f3b4c 100644 --- 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 @@ -1,12 +1,10 @@ package it.unive.lisa.interprocedural; +import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.Collections; import java.util.List; - import org.apache.commons.lang3.tuple.Pair; -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 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 index a95d3b21c..a45b21dda 100644 --- 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 @@ -1,11 +1,9 @@ package it.unive.lisa.interprocedural; +import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.List; - import org.apache.commons.lang3.tuple.Pair; -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 diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index a2e28dff6..11f9dd3e6 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.apache.commons.lang3.tuple.Pair; /** diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java index 9f3cd7502..a36ba0e93 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -1,13 +1,11 @@ package it.unive.lisa.interprocedural; +import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.Collections; import java.util.List; - import org.apache.commons.lang3.tuple.Pair; -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 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 index e5c997151..2d5831028 100644 --- 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 @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.apache.commons.lang3.tuple.Pair; /** 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 d7633fe5e..c65d459a3 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,13 +11,13 @@ 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.conf.LiSAConfiguration.GraphType; import it.unive.lisa.interprocedural.ContextBasedAnalysis; import it.unive.lisa.interprocedural.ContextInsensitiveToken; import it.unive.lisa.interprocedural.KDepthToken; import it.unive.lisa.interprocedural.LastCallToken; import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; +import org.junit.Ignore; import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { @@ -118,28 +118,33 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { perform(conf); } - @Test(expected = AssertionError.class) - public void testRecursionWithRecFreeToken() throws AnalysisSetupException { + @Test + @Ignore + public void testFibonacciKDepth() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; - conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, getDefaultFor(HeapDomain.class), new Interval(), getDefaultFor(TypeDomain.class)); - conf.interproceduralAnalysis = new ContextBasedAnalysis<>(RecursionFreeToken.getSingleton()); + conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; - conf.testSubDir = "recRecFreeToken"; - conf.programFile = "recursion.imp"; + conf.testSubDir = "fibonacci/kdepth"; + conf.programFile = "fibonacci.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; perform(conf); } - @Test(expected = AssertionError.class) - public void testRecursionWithLastToken() throws AnalysisSetupException { + @Test + @Ignore + public void testFibonacciLast() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; - conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, getDefaultFor(HeapDomain.class), new Interval(), @@ -147,16 +152,43 @@ public void testRecursionWithLastToken() throws AnalysisSetupException { conf.interproceduralAnalysis = new ContextBasedAnalysis<>(LastCallToken.getSingleton()); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; - conf.testSubDir = "recLastToken"; - conf.programFile = "recursion.imp"; + conf.testSubDir = "fibonacci/last"; + conf.programFile = "fibonacci.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; perform(conf); } - @Test(expected = AssertionError.class) - public void testRecursionWithKDepthToken() throws AnalysisSetupException { + @Test + @Ignore + 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"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testLoopKDepth() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; - conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, getDefaultFor(HeapDomain.class), new Interval(), @@ -164,16 +196,238 @@ public void testRecursionWithKDepthToken() throws AnalysisSetupException { conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; - conf.testSubDir = "recKDepthToken"; - conf.programFile = "recursion.imp"; + conf.testSubDir = "loop/kdepth"; + conf.programFile = "loop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testLoopLast() 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 = "loop/last"; + conf.programFile = "loop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; perform(conf); } - @Test(expected = AssertionError.class) - public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { + @Test + @Ignore + public void testLoopInsensitive() 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 = "loop/insensitive"; + conf.programFile = "loop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteLoopKDepth() 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 = "infiniteLoop/kdepth"; + conf.programFile = "infiniteLoop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteLoopLast() 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 = "infiniteLoop/last"; + conf.programFile = "infiniteLoop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteLoopInsensitive() 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 = "infiniteLoop/insensitive"; + conf.programFile = "infiniteLoop.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteDirectRecursionKDepth() 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 = "infiniteDirectRecursion/kdepth"; + conf.programFile = "infiniteDirectRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteDirectRecursionLast() 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 = "infiniteDirectRecursion/last"; + conf.programFile = "infiniteDirectRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + @Ignore + public void testInfiniteDirectRecursionInsensitive() 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 = "infiniteDirectRecursion/insensitive"; + conf.programFile = "infiniteDirectRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testDirectRecursionKDepth() 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 = "directRecursion/kdepth"; + conf.programFile = "directRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testDirectRecursionLast() 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 = "directRecursion/last"; + conf.programFile = "directRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; + perform(conf); + } + + @Test + public void testDirectRecursionInsensitive() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; - conf.analysisGraphs = GraphType.HTML_WITH_SUBNODES; conf.abstractState = getDefaultFor(AbstractState.class, getDefaultFor(HeapDomain.class), new Interval(), @@ -181,8 +435,13 @@ public void testRecursionWithInsensitiveToken() throws AnalysisSetupException { conf.interproceduralAnalysis = new ContextBasedAnalysis<>(ContextInsensitiveToken.getSingleton()); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; - conf.testSubDir = "recInsensitiveToken"; - conf.programFile = "recursion.imp"; + conf.testSubDir = "directRecursion/insensitive"; + conf.programFile = "directRecursion.imp"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression + conf.compareWithOptimization = false; perform(conf); } } 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 d0ddf06b6..cbd60c837 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 @@ -16,10 +16,15 @@ 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; @@ -259,9 +264,51 @@ default AnalysisState unscope( * @return {@code true} if that condition holds */ default boolean returnsVoid(Call call, AnalysisState returned) { - return call.getStaticType().isVoidType() - || (call.getStaticType().isUntyped() && returned.getComputedExpressions().isEmpty()) - || (returned.getComputedExpressions().size() == 1 - && returned.getComputedExpressions().iterator().next() instanceof Skip); + 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/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/statement/Expression.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/Expression.java index d74f64093..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,9 +1,5 @@ package it.unive.lisa.program.cfg.statement; -import java.util.Collection; -import java.util.HashSet; -import java.util.Objects; - import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.CodeLocation; import it.unive.lisa.program.cfg.statement.call.Call; @@ -11,6 +7,9 @@ import it.unive.lisa.symbolic.value.Identifier; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; +import java.util.Collection; +import java.util.HashSet; +import java.util.Objects; /** * An expression that is part of a statement of 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; + } } From 976a323c3f12441cc52a6fee5d0e3126ab9ec75f Mon Sep 17 00:00:00 2001 From: lucaneg Date: Sun, 26 Mar 2023 22:59:36 +0200 Subject: [PATCH 16/33] Adding more tests #254 --- .../interprocedural/loop/kdepth/report.json | 36 +++++++++++++++++++ ...op(tests__this,_untyped_n)_1385197606.json | 1 + ...op(tests__this,_untyped_n)_1721406355.json | 1 + ...oop(tests__this,_untyped_n)_470030347.json | 1 + ...1(tests__this,_untyped_n)_-1889539009.json | 1 + ...x1(tests__this,_untyped_n)_-749568140.json | 1 + ...x1(tests__this,_untyped_n)_-887518724.json | 1 + ...2(tests__this,_untyped_n)_-2088404106.json | 1 + ...ux2(tests__this,_untyped_n)_-40366932.json | 1 + ...ed_tests.main(tests__this,_untyped_a).json | 1 + .../interprocedural/loop/last/report.json | 36 +++++++++++++++++++ ...op(tests__this,_untyped_n)_1721405270.json | 1 + ...op(tests__this,_untyped_n)_1721406355.json | 1 + ...x1(tests__this,_untyped_n)_1721409734.json | 1 + ...x2(tests__this,_untyped_n)_1721408959.json | 1 + ...ed_tests.main(tests__this,_untyped_a).json | 1 + .../interprocedural/ContextBasedAnalysis.java | 4 +-- .../ContextSensitiveAnalysisTest.java | 4 +-- 18 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json new file mode 100644 index 000000000..3e6f159e8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1385197606.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loop(tests__this,_untyped_n)_470030347.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "1s 63ms", + "end" : "2023-03-24T18:29:10.931+01:00", + "expressions" : "34", + "files" : "9", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-03-24T18:29:09.868+01:00", + "statements" : "10", + "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", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/loop/kdepth" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json new file mode 100644 index 000000000..c50eefa22 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json @@ -0,0 +1 @@ +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json new file mode 100644 index 000000000..207c9c630 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json @@ -0,0 +1 @@ +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json new file mode 100644 index 000000000..37d4ec15f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json @@ -0,0 +1 @@ +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json new file mode 100644 index 000000000..e96e8fb6c --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json new file mode 100644 index 000000000..240e1ec3d --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json new file mode 100644 index 000000000..162dd62a3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json new file mode 100644 index 000000000..089b53e72 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json new file mode 100644 index 000000000..7f2cd737a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json new file mode 100644 index 000000000..257346f4f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = loop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"loop(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":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json new file mode 100644 index 000000000..e70042e69 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1721405270.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "info" : { + "cfgs" : "4", + "duration" : "1s 343ms", + "end" : "2023-03-24T18:47:23.763+01:00", + "expressions" : "34", + "files" : "5", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-03-24T18:47:22.420+01:00", + "statements" : "10", + "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", + "semanticChecks" : "", + "serializeInputs" : "false", + "serializeResults" : "true", + "syntacticChecks" : "", + "wideningThreshold" : "5", + "workdir" : "test-outputs/interprocedural/loop/last" + } +} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json new file mode 100644 index 000000000..1250fc711 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json @@ -0,0 +1 @@ +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json new file mode 100644 index 000000000..207c9c630 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json @@ -0,0 +1 @@ +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json new file mode 100644 index 000000000..7f009ddc9 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json new file mode 100644 index 000000000..a7a3ae3af --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json @@ -0,0 +1 @@ +{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json new file mode 100644 index 000000000..257346f4f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json @@ -0,0 +1 @@ +{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = loop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"loop(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":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}}]} \ No newline at end of file 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 index 6645e377f..86cbdd154 100644 --- 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 @@ -327,6 +327,8 @@ public AnalysisState getAbstractResultOf( // this is a recursion and we have to use a separate fixpoint // to compute its result return handleRecursion(recPos, call, entryState, token); + + callgraph.registerCall(call); ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); @@ -401,8 +403,6 @@ public AnalysisState getAbstractResultOf( } while (isActiveRecursionHead); unregisterCallStack(call, token); - callgraph.registerCall(call); - return result; } } 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 c65d459a3..be1456351 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 @@ -185,7 +185,6 @@ public void testFibonacciInsensitive() throws AnalysisSetupException { } @Test - @Ignore public void testLoopKDepth() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; @@ -207,7 +206,6 @@ public void testLoopKDepth() throws AnalysisSetupException { } @Test - @Ignore public void testLoopLast() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; @@ -229,7 +227,7 @@ public void testLoopLast() throws AnalysisSetupException { } @Test - @Ignore + @Ignore("The function called by main is the same that starts the loop, and this prevents the second fixpoint iteration form analyzing the rest") public void testLoopInsensitive() throws AnalysisSetupException { CronConfiguration conf = new CronConfiguration(); conf.serializeResults = true; From 862925f930d73a692ea6cbffa4c4dbf6eb39b1c4 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Sun, 26 Mar 2023 23:14:00 +0200 Subject: [PATCH 17/33] Recursion detection based only on calls #254 --- .../directRecursion/kdepth/report.json | 10 ++++---- ...n(tests__this,_untyped_n)_-1245949114.json | 1 - ...n(tests__this,_untyped_n)_-2109682861.json | 1 - ...on(tests__this,_untyped_n)_-240006733.json | 1 - ...on(tests__this,_untyped_n)_-383152488.json | 1 - ...ion(tests__this,_untyped_n)_-59335258.json | 2 +- .../interprocedural/loop/kdepth/report.json | 10 ++++---- ...op(tests__this,_untyped_n)_1385197606.json | 1 - ...oop(tests__this,_untyped_n)_470030347.json | 2 +- ...1(tests__this,_untyped_n)_-1889539009.json | 1 - ...x1(tests__this,_untyped_n)_-887518724.json | 1 - ...2(tests__this,_untyped_n)_-2088404106.json | 1 - .../interprocedural/ContextBasedAnalysis.java | 25 ++++++++----------- .../ContextInsensitiveToken.java | 9 ++----- .../ContextSensitivityToken.java | 16 ++---------- .../lisa/interprocedural/KDepthToken.java | 24 ++++++------------ .../lisa/interprocedural/LastCallToken.java | 11 +++----- .../interprocedural/RecursionFreeToken.java | 22 +++++----------- 18 files changed, 42 insertions(+), 97 deletions(-) delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json index be37e08db..d4870a013 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json", "untyped_tests.main(tests__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "1s 231ms", - "end" : "2023-03-24T11:14:13.510+01:00", + "duration" : "723ms", + "end" : "2023-03-26T23:12:21.432+02:00", "expressions" : "16", - "files" : "7", + "files" : "3", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-03-24T11:14:12.279+01:00", + "start" : "2023-03-26T23:12:20.709+02:00", "statements" : "6", "units" : "1", "version" : "0.1b7", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json deleted file mode 100644 index b6d559a4c..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-1245949114.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json deleted file mode 100644 index 429562915..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-2109682861.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json deleted file mode 100644 index 683bccdc2..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-240006733.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json deleted file mode 100644 index 05b0534a3..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-383152488.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json index c8d4da1df..2a8e10508 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json @@ -1 +1 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file +{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json index 3e6f159e8..11068e9ec 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1385197606.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loop(tests__this,_untyped_n)_470030347.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loop(tests__this,_untyped_n)_470030347.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json", "untyped_tests.main(tests__this,_untyped_a).json" ], "info" : { "cfgs" : "4", - "duration" : "1s 63ms", - "end" : "2023-03-24T18:29:10.931+01:00", + "duration" : "708ms", + "end" : "2023-03-26T23:14:48.120+02:00", "expressions" : "34", - "files" : "9", + "files" : "5", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-24T18:29:09.868+01:00", + "start" : "2023-03-26T23:14:47.412+02:00", "statements" : "10", "units" : "1", "version" : "0.1b7", diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json deleted file mode 100644 index c50eefa22..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1385197606.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json index 37d4ec15f..c3ecaac46 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json @@ -1 +1 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file +{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json deleted file mode 100644 index e96e8fb6c..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-1889539009.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json deleted file mode 100644 index 162dd62a3..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-887518724.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json b/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json deleted file mode 100644 index 089b53e72..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-2088404106.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}}]} \ No newline at end of file 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 index 86cbdd154..25f1547f4 100644 --- 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 @@ -58,7 +58,7 @@ public class ContextBasedAnalysis, private final Collection fixpointTriggers; - private final LinkedList> callStack; + private final LinkedList callStack; private FixpointResults results; @@ -227,11 +227,10 @@ public FixpointResults getFixpointResults() { * {@code } pair is returned */ protected int registerCallStack(CFGCall c, ContextSensitivityToken stack) { - Pair entry = Pair.of(c, stack); - int last = callStack.lastIndexOf(entry); + int last = callStack.lastIndexOf(c); if (last != -1) return last; - callStack.addLast(entry); + callStack.addLast(c); return -1; } @@ -245,17 +244,13 @@ protected int registerCallStack(CFGCall c, ContextSensitivityToken stack) { * {@code } pair */ protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) throws SemanticException { - Pair last = callStack.removeLast(); - if (!last.equals(Pair.of(c, stack))) + CFGCall last = callStack.removeLast(); + if (!last.equals(c)) throw new SemanticException("Top of the call stack ('" - + last.getLeft() - + "' with stack hash " - + last.getRight().hashCode() - + ") does not match the call that is returning (" + + last + + "') does not match the call that is returning ('" + c - + " with stack hash " - + stack.hashCode() - + ")"); + + "')"); } private AnalysisState recursiveApprox, previousApprox; @@ -320,14 +315,14 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - ContextSensitivityToken token = tokenCreator.pushOnFullStack(callStack, call); + ContextSensitivityToken token = tokenCreator.pushOnStack(callStack, call); int recPos = registerCallStack(call, token); if (recPos != -1) // if we already reached this call with the same token, then // this is a recursion and we have to use a separate fixpoint // to compute its result return handleRecursion(recPos, call, entryState, token); - + callgraph.registerCall(call); ScopeToken scope = new ScopeToken(call); 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 index 72d0f3b4c..54ab78c70 100644 --- 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 @@ -1,9 +1,9 @@ package it.unive.lisa.interprocedural; -import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.Collections; import java.util.List; -import org.apache.commons.lang3.tuple.Pair; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * A context sensitive token that is always the same (aka, do not track any @@ -54,11 +54,6 @@ public boolean isStartingId() { return true; } - @Override - public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { - return this; - } - @Override public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { return this; 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 index a45b21dda..60d598efe 100644 --- 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 @@ -1,8 +1,8 @@ package it.unive.lisa.interprocedural; -import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.List; -import org.apache.commons.lang3.tuple.Pair; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; /** * A token for interprocedural analysis that tunes the level of context @@ -11,18 +11,6 @@ */ public interface ContextSensitivityToken extends ScopeId { - /** - * Creates a context sensitive token with the starting from the given stack, - * that represents the current call stack complete with each call's token. - * The call {@code c} is the new one being pushed on the stack. - * - * @param stack the stack to use as base - * @param c the {@link CFGCall} to be pushed at the top of the token - * - * @return the created token - */ - ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c); - /** * Creates a context sensitive token with the starting from the given (and * possibly partial) stack. The call {@code c} is the new one being pushed diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index 11f9dd3e6..31b328548 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -1,11 +1,11 @@ package it.unive.lisa.interprocedural; -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; -import org.apache.commons.lang3.tuple.Pair; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; /** * A context sensitive token representing an entire call chain up to a fixed @@ -23,17 +23,17 @@ private KDepthToken(int k) { this.calls = Collections.emptyList(); } - private KDepthToken(int k, List> tokens, CFGCall newToken) { + private KDepthToken(int k, List tokens, CFGCall newToken) { this.k = k; int oldlen = tokens.size(); if (oldlen < k) { this.calls = new ArrayList<>(oldlen + 1); - tokens.stream().forEach(t -> this.calls.add(t.getLeft())); + tokens.stream().forEach(this.calls::add); this.calls.add(newToken); } else { this.calls = new ArrayList<>(k); // we only keep the last k-1 elements - tokens.stream().skip(oldlen - k + 1).forEach(t -> this.calls.add(t.getLeft())); + tokens.stream().skip(oldlen - k + 1).forEach(this.calls::add); this.calls.add(newToken); } } @@ -103,19 +103,9 @@ public boolean isStartingId() { return calls.isEmpty(); } - @Override - public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { - return new KDepthToken(k, stack, c); - } - @Override public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { - // this variant is called less often, so it's better to put the overhead - // for creating an intermediate list here - we cannot have two - // constructors due to type erasure :( - List> updated = new ArrayList<>(stack.size()); - stack.stream().forEach(t -> updated.add(Pair.of(t, null))); - return new KDepthToken(k, updated, c); + return new KDepthToken(k, stack, c); } @Override diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java index a36ba0e93..0cf6858cb 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -1,10 +1,10 @@ package it.unive.lisa.interprocedural; -import it.unive.lisa.analysis.ScopeToken; -import it.unive.lisa.program.cfg.statement.call.CFGCall; import java.util.Collections; import java.util.List; -import org.apache.commons.lang3.tuple.Pair; + +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 @@ -77,11 +77,6 @@ public boolean isStartingId() { return call == null; } - @Override - public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { - return new LastCallToken(c); - } - @Override public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { return new LastCallToken(c); 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 index 2d5831028..e82176821 100644 --- 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 @@ -1,11 +1,11 @@ package it.unive.lisa.interprocedural; -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; -import org.apache.commons.lang3.tuple.Pair; + +import it.unive.lisa.program.cfg.statement.call.CFGCall; +import it.unive.lisa.util.collections.CollectionUtilities; /** * A context sensitive token representing an entire call chain until a recursion @@ -22,9 +22,9 @@ private RecursionFreeToken() { calls = Collections.emptyList(); } - private RecursionFreeToken(List> tokens, CFGCall newToken) { + private RecursionFreeToken(List tokens, CFGCall newToken) { this.calls = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(t -> this.calls.add(t.getKey())); + tokens.stream().forEach(this.calls::add); this.calls.add(newToken); } @@ -88,19 +88,9 @@ public boolean isStartingId() { return calls.isEmpty(); } - @Override - public ContextSensitivityToken pushOnFullStack(List> stack, CFGCall c) { - return new RecursionFreeToken(stack, c); - } - @Override public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { - // this variant is called less often, so it's better to put the overhead - // for creating an intermediate list here - we cannot have two - // constructors due to type erasure :( - List> updated = new ArrayList<>(stack.size()); - stack.stream().forEach(t -> updated.add(Pair.of(t, null))); - return new RecursionFreeToken(updated, c); + return new RecursionFreeToken(stack, c); } @Override From 7703a8d01d6f2f332d684870c09dadd7223c34ce Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 30 Mar 2023 09:22:16 +0200 Subject: [PATCH 18/33] Added SCCs and cycle extraction from call graph #254 --- .../interprocedural/ContextBasedAnalysis.java | 108 ++++++++------- .../callgraph/BaseCallGraph.java | 59 +++++++-- .../interprocedural/callgraph/CallGraph.java | 125 +++++++++++++++++- .../graph/algorithms/Dominators.java | 2 +- .../datastructures/graph/algorithms/SCCs.java | 110 +++++++++++++++ .../CheckToolWithAnalysisResultsTest.java | 10 ++ 6 files changed, 342 insertions(+), 72 deletions(-) create mode 100644 lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java 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 index 25f1547f4..4bac4cf3f 100644 --- 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 @@ -1,5 +1,15 @@ package it.unive.lisa.interprocedural; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.TreeSet; + +import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import it.unive.lisa.AnalysisExecutionException; import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.DefaultParameters; @@ -18,23 +28,14 @@ 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.CodeMember; 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.util.collections.workset.VisitOnceFIFOWorkingSet; -import it.unive.lisa.util.collections.workset.VisitOnceWorkingSet; 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.LinkedList; -import java.util.TreeSet; -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 @@ -56,7 +57,7 @@ public class ContextBasedAnalysis, private final ContextSensitivityToken tokenCreator; - private final Collection fixpointTriggers; + private final Collection fixpointTriggers; private final LinkedList callStack; @@ -149,22 +150,9 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx // 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 - VisitOnceWorkingSet 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); - - Collection seen = ws.getSeen(); - seen.removeAll(fixpointTriggers); - seen.forEach(results::forget); + Collection toRemove = callgraph.getCallersTransitively(fixpointTriggers); + toRemove.removeAll(fixpointTriggers); + toRemove.stream().filter(CFG.class::isInstance).map(CFG.class::cast).forEach(results::forget); iter++; } while (!fixpointTriggers.isEmpty()); @@ -205,8 +193,8 @@ protected AnalyzedCFG computeFixpoint( conf, token); Pair> res = results.putResult(cfg, token, fixpointResult); - if (recursionStart == -1 && Boolean.TRUE.equals(res.getLeft())) - // avoid re-evaluating the triggers until the recursion is complete + if (recursionMembers == null && Boolean.TRUE.equals(res.getLeft())) + // recursion members will be all added at the end of the recursion fixpointTriggers.add(cfg); return res.getRight(); } @@ -254,30 +242,35 @@ protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) thr } private AnalysisState recursiveApprox, previousApprox; - private int recursionCount, recursionStart = -1; + private int recursionCount; + private Collection recursionMembers; /** * Determines the result of the recursive call {@code call}. * - * @param recPos the position in the call stack of the call that started the - * recursion - * @param call the recursive call - * @param state a singleton instance of the analysis state - * @param token the token causing the recursion + * @param call the recursive call + * @param state a singleton instance of the analysis state + * @param token the token causing the recursion * * @return the result of the call * * @throws SemanticException if something goes wrong during the computation */ protected AnalysisState handleRecursion( - int recPos, CFGCall call, AnalysisState state, ContextSensitivityToken token) throws SemanticException { - if (recursionStart == -1) { + if (recursionMembers == null) { LOG.info("Found recursion at '" + call.getLocation() + "' with token " + token); - recursionStart = recPos; + + Collection> allRecs = callgraph.getRecursionsContaining(call.getCFG()); + if (allRecs.isEmpty()) + throw new SemanticException("No loop found in the callgraph despite the active recursion"); + if (allRecs.size() > 1) + throw new SemanticException("Members in multiple recursions are not supported"); + recursionMembers = allRecs.iterator().next(); + if (returnsVoid(call, null)) recursiveApprox = state.bottom(); else @@ -297,15 +290,16 @@ protected AnalysisState handleRecursion( recursionCount++; recursiveApprox = previousApprox.lub(recursiveApprox); } - } - AnalysisState approx = recursiveApprox; - if (previousApprox != null && recursiveApprox.lessOrEqual(previousApprox)) { - recursionStart = -1; - recursiveApprox = previousApprox = null; - recursionCount = 0; + if (previousApprox != null && recursiveApprox.lessOrEqual(previousApprox)) { + recursiveApprox = previousApprox = null; + recursionCount = 0; + fixpointTriggers.addAll(recursionMembers); + recursionMembers = null; + } } - return approx; + + return recursiveApprox; } @Override @@ -315,15 +309,18 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - ContextSensitivityToken token = tokenCreator.pushOnStack(callStack, call); - int recPos = registerCallStack(call, token); - if (recPos != -1) - // if we already reached this call with the same token, then - // this is a recursion and we have to use a separate fixpoint - // to compute its result - return handleRecursion(recPos, call, entryState, token); - callgraph.registerCall(call); + ContextSensitivityToken token = tokenCreator.pushOnStack(callStack, call); + int last = registerCallStack(call, token); + if (recursionMembers == null && call.getTargetedCFGs().stream().anyMatch(call.getCFG()::equals) + || callgraph.getCalleesTransitively(call.getTargets()).contains(call.getCFG())) { + if (last == -1) + unregisterCallStack(call, token); + // this calls introduces a loop in the call graph -> recursion + // we need a special fixpoint to compute its result + // TODO this might be an expensive check + return handleRecursion(call, entryState, token); + } ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); @@ -356,7 +353,8 @@ public AnalysisState getAbstractResultOf( locals); AnalysisState exitState; - if (recursionStart == -1 && states != null && prepared.getLeft().lessOrEqual(states.getEntryState())) + if (recursionMembers == null && 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 @@ -387,7 +385,7 @@ public AnalysisState getAbstractResultOf( // - recursionStart != callStack.head.position // otherwise, this is the exact call that starts the // recursion, and we have to repeat the fixpoint - isActiveRecursionHead = recursionStart != -1 && callStack.size() - 1 == recursionStart; + isActiveRecursionHead = recursionMembers != null && !recursionMembers.contains(call.getCFG()); if (isActiveRecursionHead) { // store the result of this computation to use it at the start 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 85dd38dae..b587ac828 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 @@ -1,5 +1,20 @@ package it.unive.lisa.interprocedural.callgraph; +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; + import it.unive.lisa.analysis.symbols.Aliases; import it.unive.lisa.analysis.symbols.NameSymbol; import it.unive.lisa.analysis.symbols.QualifiedNameSymbol; @@ -27,19 +42,7 @@ 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; +import it.unive.lisa.util.datastructures.graph.algorithms.SCCs; /** * An instance of {@link CallGraph} that provides the basic mechanism to resolve @@ -52,7 +55,8 @@ * @author Luca Negrini and * Pietro Ferrara */ -public abstract class BaseCallGraph extends BaseGraph +public abstract class BaseCallGraph + extends BaseGraph implements CallGraph { private static final Logger LOG = LogManager.getLogger(BaseCallGraph.class); @@ -483,4 +487,31 @@ public Collection getCallers(CodeMember cm) { public Collection getCallSites(CodeMember cm) { return callsites.getOrDefault(cm, Collections.emptyList()); } + + @Override + public Collection> getRecursions() { + Collection> sccs = new SCCs< + BaseCallGraph, + CallGraphNode, + CallGraphEdge>().build(this); + return sccs.stream() + .map(nodes -> nodes.stream() + .map(node -> node.getCodeMember()) + .collect(Collectors.toSet())) + .collect(Collectors.toSet()); + } + + @Override + public Collection> getRecursionsContaining(CodeMember cm) { + Collection> sccs = new SCCs< + BaseCallGraph, + CallGraphNode, + CallGraphEdge>().build(this); + return sccs.stream() + .map(nodes -> nodes.stream() + .map(node -> node.getCodeMember()) + .collect(Collectors.toSet())) + .filter(members -> members.contains(cm)) + .collect(Collectors.toSet()); + } } \ No newline at end of file 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..c99700245 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 @@ -1,5 +1,9 @@ package it.unive.lisa.interprocedural.callgraph; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + import it.unive.lisa.analysis.symbols.SymbolAliasing; import it.unive.lisa.program.Application; import it.unive.lisa.program.cfg.CodeMember; @@ -7,8 +11,8 @@ 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 java.util.Collection; -import java.util.Set; +import it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet; +import it.unive.lisa.util.collections.workset.VisitOnceWorkingSet; /** * A callgraph of the program to analyze, that knows how to resolve dynamic @@ -62,6 +66,55 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) */ Collection getCallers(CodeMember cm); + /** + * 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 cms the target code members + * + * @return the collection of callers code members + */ + default 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 + */ + default 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 + */ + default 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 one. The * returned collection might contain partial results if this call graph is @@ -73,6 +126,55 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) */ Collection getCallees(CodeMember cm); + /** + * 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 + */ + default 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 + */ + default 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 + */ + default 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 Call}s that targets the given {@link CodeMember}. * The returned collection might contain partial results if this call graph @@ -83,4 +185,23 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) * @return the collection of calls that target the code member */ Collection getCallSites(CodeMember cm); + + /** + * Yields all the recursions that happens in the program, in the form of + * collections of the {@link CodeMember}s composing them. + * + * @return the recursions + */ + Collection> getRecursions(); + + /** + * 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> getRecursionsContaining(CodeMember cm); } 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..239a1af62 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java @@ -0,0 +1,110 @@ +package it.unive.lisa.util.datastructures.graph.algorithms; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +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; + +/** + * 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)}. + * + * @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()}. + * + * @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/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..f6ae9cd80 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 @@ -97,6 +97,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) { From 31e610a31965fd80da60bdcf7706499bf6768776 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 15:16:32 +0200 Subject: [PATCH 19/33] Improvements to sign analysis --- .../main/java/it/unive/lisa/analysis/numeric/Sign.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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; From 0f3cc25e091b5751b675d35901aeec8be74d68ba Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 16:06:01 +0200 Subject: [PATCH 20/33] Refactoring and increasing test cases #254 --- .../interprocedural/directRecursion.imp | 15 - .../interprocedural/factorial.imp | 15 + .../insensitive/report.json | 0 ...rectRecursion(tests__this,_untyped_n).json | 0 ...ed_tests.main(tests__this,_untyped_a).json | 0 .../kdepth/report.json | 0 ...on(tests__this,_untyped_n)_-270289677.json | 0 ...ion(tests__this,_untyped_n)_-59335258.json | 0 ...ed_tests.main(tests__this,_untyped_a).json | 0 .../last/report.json | 0 ...on(tests__this,_untyped_n)_-270289677.json | 0 ...on(tests__this,_untyped_n)_-270289832.json | 0 ...ed_tests.main(tests__this,_untyped_a).json | 0 .../interprocedural/factorialInterleaved.imp | 20 + .../interprocedural/factorialLoop.imp | 29 ++ .../kdepth/report.json | 0 ...op(tests__this,_untyped_n)_1721406355.json | 0 ...oop(tests__this,_untyped_n)_470030347.json | 0 ...x1(tests__this,_untyped_n)_-749568140.json | 0 ...ux2(tests__this,_untyped_n)_-40366932.json | 0 ...ed_tests.main(tests__this,_untyped_a).json | 0 .../{loop => factorialLoop}/last/report.json | 0 ...op(tests__this,_untyped_n)_1721405270.json | 0 ...op(tests__this,_untyped_n)_1721406355.json | 0 ...x1(tests__this,_untyped_n)_1721409734.json | 0 ...x2(tests__this,_untyped_n)_1721408959.json | 0 ...ed_tests.main(tests__this,_untyped_a).json | 0 .../interprocedural/fibonacci.imp | 2 +- .../infiniteDirectRecursion.imp | 11 - .../interprocedural/infiniteLoop.imp | 21 - .../interprocedural/infiniteRecursion1.imp | 11 + .../interprocedural/infiniteRecursion2.imp | 21 + .../imp-testcases/interprocedural/loop.imp | 25 -- .../interprocedural/twoRecursions.imp | 26 ++ .../ContextSensitiveAnalysisTest.java | 332 +--------------- .../cron/interprocedural/RecursionsTest.java | 372 ++++++++++++++++++ 36 files changed, 497 insertions(+), 403 deletions(-) delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial.imp rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/insensitive/report.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/insensitive/untyped_tests.main(tests__this,_untyped_a).json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/kdepth/report.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/kdepth/untyped_tests.main(tests__this,_untyped_a).json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/last/report.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{directRecursion => factorial}/last/untyped_tests.main(tests__this,_untyped_a).json (100%) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/report.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/kdepth/untyped_tests.main(tests__this,_untyped_a).json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/report.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json (100%) rename lisa/lisa-analyses/imp-testcases/interprocedural/{loop => factorialLoop}/last/untyped_tests.main(tests__this,_untyped_a).json (100%) delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2.imp delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp create mode 100644 lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp deleted file mode 100644 index 9a2f5810f..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion.imp +++ /dev/null @@ -1,15 +0,0 @@ -class tests { - - directRecursion(n) { - if (n <= 1) - return 1; - else { - def x = n - 1; - return this.directRecursion(x) + n; - } - } - - main(a) { - def x = this.directRecursion(a); - } -} \ No newline at end of file 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/directRecursion/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/report.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.main(tests__this,_untyped_a).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/insensitive/untyped_tests.main(tests__this,_untyped_a).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.main(tests__this,_untyped_a).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/report.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.main(tests__this,_untyped_a).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/kdepth/untyped_tests.main(tests__this,_untyped_a).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.main(tests__this,_untyped_a).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/report.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.main(tests__this,_untyped_a).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/directRecursion/last/untyped_tests.main(tests__this,_untyped_a).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.main(tests__this,_untyped_a).json 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/factorialLoop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp new file mode 100644 index 000000000..c1935a64a --- /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/loop/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/report.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.main(tests__this,_untyped_a).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/kdepth/untyped_tests.main(tests__this,_untyped_a).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.main(tests__this,_untyped_a).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/report.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.main(tests__this,_untyped_a).json similarity index 100% rename from lisa/lisa-analyses/imp-testcases/interprocedural/loop/last/untyped_tests.main(tests__this,_untyped_a).json rename to lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.main(tests__this,_untyped_a).json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp index 5f8eec6b5..65a3056de 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp @@ -1,4 +1,4 @@ -class tests { +class fibonacci { fib(n) { if (n == 0) diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp deleted file mode 100644 index a158512a8..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteDirectRecursion.imp +++ /dev/null @@ -1,11 +0,0 @@ -class tests { - - infiniteDirectRecursion(n) { - def x = n - 1; - return this.infiniteDirectRecursion(x) + n; - } - - main(a) { - def w = this.infiniteDirectRecursion(a); - } -} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp deleted file mode 100644 index f4d893f20..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteLoop.imp +++ /dev/null @@ -1,21 +0,0 @@ -class tests { - - infiniteLoop(n) { - def x = n - 1; - return this.infiniteLoopAux1(x); - } - - infiniteLoopAux1(n) { - def x = n - 2; - return this.infiniteLoopAux2(x); - } - - infiniteLoopAux2(n) { - def x = n + 1; - return this.infiniteLoop(x); - } - - main(a) { - def k = this.infiniteLoop(a); - } -} \ 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/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/loop.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp deleted file mode 100644 index a8ffc4d28..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/loop.imp +++ /dev/null @@ -1,25 +0,0 @@ -class tests { - - loop(n) { - if (n < 0) - return 10; - else { - def x = n - 1; - return this.loopAux1(x) + n; - } - } - - loopAux1(n) { - def x = n - 2; - return this.loopAux2(x) + n; - } - - loopAux2(n) { - def x = n + 1; - return this.loop(x) + n; - } - - main(a) { - def z = this.loop(a); - } -} \ 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..4cbca77fa --- /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(n,b) { + return rec(x,b) + n; + } + + aux2(n,b) { + return 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/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 be1456351..cd7e49695 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 @@ -2,6 +2,8 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; +import org.junit.Test; + import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -12,13 +14,8 @@ 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.ContextInsensitiveToken; -import it.unive.lisa.interprocedural.KDepthToken; -import it.unive.lisa.interprocedural.LastCallToken; import it.unive.lisa.interprocedural.RecursionFreeToken; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; -import org.junit.Ignore; -import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { @@ -117,329 +114,4 @@ public void testRTAContextSensitive6() throws AnalysisSetupException { conf.programFile = "programContextSensitive5.imp"; perform(conf); } - - @Test - @Ignore - 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"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - 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"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - 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"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - public void testLoopKDepth() 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 = "loop/kdepth"; - conf.programFile = "loop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - public void testLoopLast() 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 = "loop/last"; - conf.programFile = "loop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore("The function called by main is the same that starts the loop, and this prevents the second fixpoint iteration form analyzing the rest") - public void testLoopInsensitive() 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 = "loop/insensitive"; - conf.programFile = "loop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteLoopKDepth() 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 = "infiniteLoop/kdepth"; - conf.programFile = "infiniteLoop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteLoopLast() 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 = "infiniteLoop/last"; - conf.programFile = "infiniteLoop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteLoopInsensitive() 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 = "infiniteLoop/insensitive"; - conf.programFile = "infiniteLoop.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteDirectRecursionKDepth() 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 = "infiniteDirectRecursion/kdepth"; - conf.programFile = "infiniteDirectRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteDirectRecursionLast() 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 = "infiniteDirectRecursion/last"; - conf.programFile = "infiniteDirectRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - @Ignore - public void testInfiniteDirectRecursionInsensitive() 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 = "infiniteDirectRecursion/insensitive"; - conf.programFile = "infiniteDirectRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - public void testDirectRecursionKDepth() 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 = "directRecursion/kdepth"; - conf.programFile = "directRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - public void testDirectRecursionLast() 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 = "directRecursion/last"; - conf.programFile = "directRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - perform(conf); - } - - @Test - public void testDirectRecursionInsensitive() 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 = "directRecursion/insensitive"; - conf.programFile = "directRecursion.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression - conf.compareWithOptimization = false; - 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..75504d59b --- /dev/null +++ b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java @@ -0,0 +1,372 @@ +package it.unive.lisa.cron.interprocedural; + +import static it.unive.lisa.LiSAFactory.getDefaultFor; + +import org.junit.Test; + +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.ContextBasedAnalysis; +import it.unive.lisa.interprocedural.ContextInsensitiveToken; +import it.unive.lisa.interprocedural.KDepthToken; +import it.unive.lisa.interprocedural.LastCallToken; +import it.unive.lisa.interprocedural.callgraph.RTACallGraph; + +public class RecursionsTest extends AnalysisTestExecutor { + + @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"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression +// 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"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression +// 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"; + // during the first evaluation of the recursive chain, having a bottom + // value means that + can also be rewritten as strcat. This does not + // happen when the full chain is computed (when unwinding the results) + // and will thus cause a diff in results due to the missing expression +// conf.compareWithOptimization = false; + 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 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"; + 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"; + 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"; + 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"; + 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"; + 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"; + 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 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 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 = "factorial/kdepth"; + conf.programFile = "factorial.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); + } +} From 39c53cef6ec885798ee40bdf7e672930e5016d1f Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 16:16:38 +0200 Subject: [PATCH 21/33] Removing complete call stack from ContextBasedAnalysis #254 --- .../interprocedural/ContextBasedAnalysis.java | 58 +++---------------- .../ContextInsensitiveToken.java | 10 +--- .../ContextSensitivityToken.java | 28 +-------- .../lisa/interprocedural/KDepthToken.java | 17 ++---- .../lisa/interprocedural/LastCallToken.java | 10 +--- .../interprocedural/RecursionFreeToken.java | 15 ++--- 6 files changed, 23 insertions(+), 115 deletions(-) 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 index 4bac4cf3f..051f6cce1 100644 --- 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 @@ -3,7 +3,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; -import java.util.LinkedList; import java.util.TreeSet; import org.apache.commons.lang3.tuple.Pair; @@ -55,15 +54,13 @@ public class ContextBasedAnalysis, private static final Logger LOG = LogManager.getLogger(ContextBasedAnalysis.class); - private final ContextSensitivityToken tokenCreator; - private final Collection fixpointTriggers; - private final LinkedList callStack; - private FixpointResults results; private Class> fixpointWorkingSet; + + private ContextSensitivityToken token; private FixpointConfiguration conf; @@ -81,9 +78,8 @@ public ContextBasedAnalysis() { * context sensitivity */ public ContextBasedAnalysis(ContextSensitivityToken token) { - this.tokenCreator = token; + this.token = token; fixpointTriggers = new HashSet<>(); - callStack = new LinkedList<>(); } @Override @@ -119,7 +115,7 @@ private static String ordinal(int i) { private void fixpointAux(AnalysisState entryState) throws AnalysisExecutionException { int iter = 0; - ContextSensitivityToken empty = (ContextSensitivityToken) tokenCreator.startingId(); + ContextSensitivityToken empty = (ContextSensitivityToken) token.startingId(); Collection entryPoints = new TreeSet<>( (c1, c2) -> c1.getDescriptor().getLocation().compareTo(c2.getDescriptor().getLocation())); @@ -204,43 +200,6 @@ public FixpointResults getFixpointResults() { return results; } - /** - * Registers the given call stack for the given call. - * - * @param c the call that the stack is associated with - * @param stack the stack to register - * - * @return {@code -1} if the call has been added to the stack, otherwise the - * stack is not modified and the position of the same - * {@code } pair is returned - */ - protected int registerCallStack(CFGCall c, ContextSensitivityToken stack) { - int last = callStack.lastIndexOf(c); - if (last != -1) - return last; - callStack.addLast(c); - return -1; - } - - /** - * Removes the given stack from the ones registered for the given call. - * - * @param c the call that the stack is associated with - * @param stack the stack to unregister - * - * @throws SemanticException if the top of the call stack does not match the - * {@code } pair - */ - protected void unregisterCallStack(CFGCall c, ContextSensitivityToken stack) throws SemanticException { - CFGCall last = callStack.removeLast(); - if (!last.equals(c)) - throw new SemanticException("Top of the call stack ('" - + last - + "') does not match the call that is returning ('" - + c - + "')"); - } - private AnalysisState recursiveApprox, previousApprox; private int recursionCount; private Collection recursionMembers; @@ -310,15 +269,12 @@ public AnalysisState getAbstractResultOf( StatementStore expressions) throws SemanticException { callgraph.registerCall(call); - ContextSensitivityToken token = tokenCreator.pushOnStack(callStack, call); - int last = registerCallStack(call, token); + ContextSensitivityToken callerToken = token; + token = token.push(call); if (recursionMembers == null && call.getTargetedCFGs().stream().anyMatch(call.getCFG()::equals) || callgraph.getCalleesTransitively(call.getTargets()).contains(call.getCFG())) { - if (last == -1) - unregisterCallStack(call, token); // this calls introduces a loop in the call graph -> recursion // we need a special fixpoint to compute its result - // TODO this might be an expensive check return handleRecursion(call, entryState, token); } @@ -395,7 +351,7 @@ public AnalysisState getAbstractResultOf( } } while (isActiveRecursionHead); - unregisterCallStack(call, token); + token = callerToken; return result; } } 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 index 54ab78c70..65d7cb0b8 100644 --- 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 @@ -1,8 +1,5 @@ package it.unive.lisa.interprocedural; -import java.util.Collections; -import java.util.List; - import it.unive.lisa.program.cfg.statement.call.CFGCall; /** @@ -55,12 +52,7 @@ public boolean isStartingId() { } @Override - public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + public ContextSensitivityToken push(CFGCall c) { return this; } - - @Override - public List getKnownCalls() { - return Collections.emptyList(); - } } 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 index 60d598efe..a37b38b3c 100644 --- 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 @@ -1,7 +1,5 @@ package it.unive.lisa.interprocedural; -import java.util.List; - import it.unive.lisa.program.cfg.statement.call.CFGCall; /** @@ -10,28 +8,8 @@ * some of the calls appearing in it. */ public interface ContextSensitivityToken extends ScopeId { - - /** - * Creates a context sensitive token with the starting from the given (and - * possibly partial) stack. The call {@code c} is the new one being pushed - * on the stack. - * - * @param stack the stack to use as base - * @param c the {@link CFGCall} to be pushed at the top of the token - * - * @return the created token - */ - ContextSensitivityToken pushOnStack(List stack, CFGCall c); - - /** - * Yields the call stack considered by this token. - * - * @return the call stack - */ - List getKnownCalls(); - + + // we redefine this just to give a more specific return type @Override - default ContextSensitivityToken push(CFGCall c) { - return pushOnStack(getKnownCalls(), c); - } + ContextSensitivityToken push(CFGCall c); } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java index 31b328548..255baa68a 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java @@ -23,17 +23,17 @@ private KDepthToken(int k) { this.calls = Collections.emptyList(); } - private KDepthToken(int k, List tokens, CFGCall newToken) { + private KDepthToken(int k, KDepthToken source, CFGCall newToken) { this.k = k; - int oldlen = tokens.size(); + int oldlen = source.calls.size(); if (oldlen < k) { this.calls = new ArrayList<>(oldlen + 1); - tokens.stream().forEach(this.calls::add); + source.calls.forEach(this.calls::add); this.calls.add(newToken); } else { this.calls = new ArrayList<>(k); // we only keep the last k-1 elements - tokens.stream().skip(oldlen - k + 1).forEach(this.calls::add); + source.calls.stream().skip(oldlen - k + 1).forEach(this.calls::add); this.calls.add(newToken); } } @@ -104,12 +104,7 @@ public boolean isStartingId() { } @Override - public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { - return new KDepthToken(k, stack, c); - } - - @Override - public List getKnownCalls() { - return calls; + public ContextSensitivityToken push(CFGCall c) { + return new KDepthToken(k, this, c); } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java index 0cf6858cb..1e3f2b5b7 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java @@ -1,8 +1,5 @@ package it.unive.lisa.interprocedural; -import java.util.Collections; -import java.util.List; - import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.program.cfg.statement.call.CFGCall; @@ -78,12 +75,7 @@ public boolean isStartingId() { } @Override - public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { + public ContextSensitivityToken push(CFGCall c) { return new LastCallToken(c); } - - @Override - public List getKnownCalls() { - return call == null ? Collections.emptyList() : Collections.singletonList(call); - } } 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 index e82176821..c8b812f22 100644 --- 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 @@ -22,9 +22,9 @@ private RecursionFreeToken() { calls = Collections.emptyList(); } - private RecursionFreeToken(List tokens, CFGCall newToken) { - this.calls = new ArrayList<>(tokens.size() + 1); - tokens.stream().forEach(this.calls::add); + private RecursionFreeToken(RecursionFreeToken source, CFGCall newToken) { + this.calls = new ArrayList<>(source.calls.size() + 1); + source.calls.forEach(this.calls::add); this.calls.add(newToken); } @@ -89,12 +89,7 @@ public boolean isStartingId() { } @Override - public ContextSensitivityToken pushOnStack(List stack, CFGCall c) { - return new RecursionFreeToken(stack, c); - } - - @Override - public List getKnownCalls() { - return calls; + public ContextSensitivityToken push(CFGCall c) { + return new RecursionFreeToken(this, c); } } From 4d48cca3bc2b84cfbd76ed8faf7b5f5b7c9ec18f Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 18:33:41 +0200 Subject: [PATCH 22/33] Scaffolding for collecting recursions for later evaluation #254 --- .../interprocedural/ContextBasedAnalysis.java | 281 +++++++++--------- .../interprocedural/recursion/Recursion.java | 120 ++++++++ .../recursion/RecursionNode.java | 71 +++++ 3 files changed, 336 insertions(+), 136 deletions(-) create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java 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 index 051f6cce1..ddba36f4f 100644 --- 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 @@ -3,7 +3,13 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +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; @@ -24,6 +30,8 @@ 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.recursion.Recursion; +import it.unive.lisa.interprocedural.recursion.RecursionNode; import it.unive.lisa.logging.IterationLogger; import it.unive.lisa.logging.TimerLogger; import it.unive.lisa.program.cfg.CFG; @@ -54,12 +62,16 @@ public class ContextBasedAnalysis, private static final Logger LOG = LogManager.getLogger(ContextBasedAnalysis.class); - private final Collection fixpointTriggers; + private final Collection triggers; + + private final Set> recursions; + + private final Map> ongoingCalls; private FixpointResults results; - private Class> fixpointWorkingSet; - + private Class> workingSet; + private ContextSensitivityToken token; private FixpointConfiguration conf; @@ -79,7 +91,9 @@ public ContextBasedAnalysis() { */ public ContextBasedAnalysis(ContextSensitivityToken token) { this.token = token; - fixpointTriggers = new HashSet<>(); + triggers = new HashSet<>(); + recursions = new HashSet<>(); + ongoingCalls = new IdentityHashMap<>(); } @Override @@ -88,7 +102,7 @@ public void fixpoint( Class> fixpointWorkingSet, FixpointConfiguration conf) throws FixpointException { - this.fixpointWorkingSet = fixpointWorkingSet; + this.workingSet = fixpointWorkingSet; this.conf = conf; // new fixpoint execution: reset this.results = null; @@ -123,7 +137,7 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx do { LOG.info("Performing {} fixpoint iteration", ordinal(iter + 1)); - fixpointTriggers.clear(); + triggers.clear(); for (CFG cfg : IterationLogger.iterate(LOG, entryPoints, "Processing entrypoints", "entries")) try { if (results == null) { @@ -136,22 +150,53 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx AnalysisState entryStateCFG = prepareEntryStateOfEntryPoint(entryState, cfg); results.putResult(cfg, empty, - cfg.fixpoint(entryStateCFG, this, WorkingSet.of(fixpointWorkingSet), conf, 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 (!recursions.isEmpty()) { + Set> compacted = new HashSet<>(); + + for (Recursion recursion : recursions) { + Set> eqclass = new HashSet<>(); + eqclass.add(recursion); + for (Recursion rec2 : recursions) + if (!recursion.equals(rec2) && recursion.equalsUpToCalls(rec2)) + eqclass.add(rec2); + recursions.removeAll(eqclass); + if (eqclass.size() == 1) + compacted.add(eqclass.iterator().next()); + else { + Recursion compact = null; + for (Recursion rr : eqclass) + if (compact == null) + compact = rr; + else + compact = compact.merge(rr); + compacted.add(compact); + } + } + + for (Recursion rec : compacted) { + // TODO solve the recursions here + triggers.addAll(rec.getInvolvedCFGs()); + } + + recursions.clear(); + } + // 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(fixpointTriggers); - toRemove.removeAll(fixpointTriggers); + Collection toRemove = callgraph.getCallersTransitively(triggers); + toRemove.removeAll(triggers); toRemove.stream().filter(CFG.class::isInstance).map(CFG.class::cast).forEach(results::forget); iter++; - } while (!fixpointTriggers.isEmpty()); + } while (!triggers.isEmpty()); } @Override @@ -177,7 +222,7 @@ public Collection> getAnalysisResultsOf(CFG cfg) { * @throws AnalysisSetupException if the {@link WorkingSet} for the fixpoint * cannot be created */ - protected AnalyzedCFG computeFixpoint( + private AnalyzedCFG computeFixpoint( CFG cfg, ContextSensitivityToken token, AnalysisState entryState) @@ -185,13 +230,13 @@ protected AnalyzedCFG computeFixpoint( AnalyzedCFG fixpointResult = cfg.fixpoint( entryState, this, - WorkingSet.of(fixpointWorkingSet), + WorkingSet.of(workingSet), conf, token); Pair> res = results.putResult(cfg, token, fixpointResult); - if (recursionMembers == null && Boolean.TRUE.equals(res.getLeft())) + if (Boolean.TRUE.equals(res.getLeft())) // recursion members will be all added at the end of the recursion - fixpointTriggers.add(cfg); + triggers.add(cfg); return res.getRight(); } @@ -200,65 +245,46 @@ public FixpointResults getFixpointResults() { return results; } - private AnalysisState recursiveApprox, previousApprox; - private int recursionCount; - private Collection recursionMembers; + private void computeRecursionsEndingWith(CFGCall call) throws SemanticException { + for (Collection rec : callgraph.getRecursionsContaining(call.getCFG())) { + Collection remaining = new HashSet<>(rec); + List nodes = new LinkedList<>(); + CFG iterator = call.getCFG(); + + // we begin from the tail of the recursion + nodes.add(new RecursionNode(call, iterator)); + remaining.remove(iterator); + + while (!remaining.isEmpty()) { + Set sites = callgraph.getCallSites(iterator).stream() + .filter(site -> remaining.contains(site.getCFG())) + .filter(CFGCall.class::isInstance) + .map(CFGCall.class::cast) + .collect(Collectors.toSet()); + + if (sites.isEmpty()) + throw new SemanticException("Recursion with no valid entry point found"); + else { + iterator = sites.iterator().next().getCFG(); + for (CFGCall site : sites) + if (!site.getCFG().equals(iterator)) + throw new SemanticException("Recursion with non-linear path found"); - /** - * Determines the result of the recursive call {@code call}. - * - * @param call the recursive call - * @param state a singleton instance of the analysis state - * @param token the token causing the recursion - * - * @return the result of the call - * - * @throws SemanticException if something goes wrong during the computation - */ - protected AnalysisState handleRecursion( - CFGCall call, - AnalysisState state, - ContextSensitivityToken token) - throws SemanticException { - if (recursionMembers == null) { - LOG.info("Found recursion at '" + call.getLocation() + "' with token " + token); - - Collection> allRecs = callgraph.getRecursionsContaining(call.getCFG()); - if (allRecs.isEmpty()) - throw new SemanticException("No loop found in the callgraph despite the active recursion"); - if (allRecs.size() > 1) - throw new SemanticException("Members in multiple recursions are not supported"); - recursionMembers = allRecs.iterator().next(); - - if (returnsVoid(call, null)) - recursiveApprox = state.bottom(); - else - recursiveApprox = new AnalysisState<>( - state.getState().bottom(), - call.getMetaVariable(), - state.getAliasing().bottom()); - recursionCount = 0; - } else { - LOG.info(ordinal(recursionCount + 2) + " evaluation of recursive chain at '" + call.getLocation()); - if (conf.wideningThreshold < 0) - recursiveApprox = previousApprox.lub(recursiveApprox); - - if (recursionCount == conf.wideningThreshold) - recursiveApprox = previousApprox.widening(recursiveApprox); - else { - recursionCount++; - recursiveApprox = previousApprox.lub(recursiveApprox); + nodes.add(new RecursionNode(sites, iterator)); + remaining.remove(iterator); + } } - if (previousApprox != null && recursiveApprox.lessOrEqual(previousApprox)) { - recursiveApprox = previousApprox = null; - recursionCount = 0; - fixpointTriggers.addAll(recursionMembers); - recursionMembers = null; - } + // iterator will now contain the entry node of the recursion + Set sites = callgraph.getCallSites(iterator).stream() + .filter(site -> !rec.contains(site.getCFG())) + .filter(CFGCall.class::isInstance) + .filter(ongoingCalls::containsKey) + .map(CFGCall.class::cast) + .collect(Collectors.toSet()); + for (CFGCall site : sites) + recursions.add(new Recursion<>(site, nodes, ongoingCalls.get(site))); } - - return recursiveApprox; } @Override @@ -271,86 +297,69 @@ public AnalysisState getAbstractResultOf( callgraph.registerCall(call); ContextSensitivityToken callerToken = token; token = token.push(call); - if (recursionMembers == null && call.getTargetedCFGs().stream().anyMatch(call.getCFG()::equals) + ongoingCalls.put(call, entryState); + + if (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 - return handleRecursion(call, entryState, token); + // we compute that at the end of each fixpoint iteration + computeRecursionsEndingWith(call); + // we return bottom for now + return entryState.bottom(); } ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); - boolean isActiveRecursionHead; - do { - // 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); - 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); - - AnalysisState exitState; - if (recursionMembers == null && 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 - // note that we skip this entirely if we are evaluating a - // recursive chain, as we don't want to interfere with the - // fixpoint computation, as we must reach the recursion - // point every time without short-cutting to the result - 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(); + // 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); + 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); + + AnalysisState exitState; + if (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); } - // save the resulting state - result = result.lub(unscope(call, scope, exitState)); + exitState = fixpointResult.getExitState(); } - // here, the top of call-stack will be - // we exit if: - // - recursionStart == -1 (no active recursion) - // - recursionStart != callStack.head.position - // otherwise, this is the exact call that starts the - // recursion, and we have to repeat the fixpoint - isActiveRecursionHead = recursionMembers != null && !recursionMembers.contains(call.getCFG()); - - if (isActiveRecursionHead) { - // store the result of this computation to use it at the start - // of the next fixpoint iteration - previousApprox = recursiveApprox; - recursiveApprox = result; - } - } while (isActiveRecursionHead); + // save the resulting state + result = result.lub(unscope(call, scope, exitState)); + } + ongoingCalls.remove(call); token = callerToken; return result; } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java new file mode 100644 index 000000000..7dfba1f03 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java @@ -0,0 +1,120 @@ +package it.unive.lisa.interprocedural.recursion; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import it.unive.lisa.analysis.AbstractState; +import it.unive.lisa.analysis.AnalysisState; +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.program.cfg.CFG; +import it.unive.lisa.program.cfg.statement.call.CFGCall; + +public class Recursion, + H extends HeapDomain, + V extends ValueDomain, + T extends TypeDomain> { + + private final CFGCall start; + + private final List nodes; + + private final AnalysisState entryState; + + public Recursion(CFGCall start, List nodes, AnalysisState entryState) { + this.start = start; + this.nodes = nodes; + 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 + ((nodes == null) ? 0 : nodes.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 (nodes == null) { + if (other.nodes != null) + return false; + } else if (!nodes.equals(other.nodes)) + return false; + if (start == null) { + if (other.start != null) + return false; + } else if (!start.equals(other.start)) + return false; + return true; + } + + public CFGCall getStart() { + return start; + } + + public List getNodes() { + return nodes; + } + + public AnalysisState getEntryState() { + return entryState; + } + + public List getInvolvedCFGs() { + return nodes.stream().map(n -> n.getTarget()).collect(Collectors.toList()); + } + + public boolean equalsUpToCalls(Recursion other) { + if (entryState == null) { + if (other.entryState != null) + return false; + } else if (!entryState.equals(other.entryState)) + return false; + if (start == null) { + if (other.start != null) + return false; + } else if (!start.equals(other.start)) + return false; + if (nodes == null) { + if (other.nodes != null) + return false; + } else if (nodes.size() != other.nodes.size()) + return false; + else + for (int i = 0; i < nodes.size(); i++) + if (!nodes.get(i).equalsUpToCalls(other.nodes.get(i))) + return false; + return true; + } + + public Recursion merge(Recursion other) { + List merged = new LinkedList<>(); + for (int i = 0; i < nodes.size(); i++) { + RecursionNode node = nodes.get(i); + Set calls = new HashSet<>(node.getCalls()); + calls.addAll(other.nodes.get(i).getCalls()); + merged.add(new RecursionNode(calls, node.getTarget())); + } + return new Recursion<>(start, merged, entryState); + } +} diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java new file mode 100644 index 000000000..8c7818d54 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java @@ -0,0 +1,71 @@ +package it.unive.lisa.interprocedural.recursion; + +import java.util.Collections; +import java.util.Set; + +import it.unive.lisa.program.cfg.CFG; +import it.unive.lisa.program.cfg.statement.call.CFGCall; + +public class RecursionNode { + + private final Set calls; + + private final CFG target; + + public RecursionNode(CFGCall call, CFG target) { + this(Collections.singleton(call), target); + } + + public RecursionNode(Set calls, CFG target) { + this.calls = calls; + this.target = target; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((calls == null) ? 0 : calls.hashCode()); + result = prime * result + ((target == null) ? 0 : target.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; + RecursionNode other = (RecursionNode) obj; + if (calls == null) { + if (other.calls != null) + return false; + } else if (!calls.equals(other.calls)) + return false; + if (target == null) { + if (other.target != null) + return false; + } else if (!target.equals(other.target)) + return false; + return true; + } + + public Set getCalls() { + return calls; + } + + public CFG getTarget() { + return target; + } + + public boolean equalsUpToCalls(RecursionNode other) { + if (target == null) { + if (other.target != null) + return false; + } else if (!target.equals(other.target)) + return false; + return true; + } +} From 78341c22b10309e9cc0d6267fca6be9d244437fc Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 18:54:30 +0200 Subject: [PATCH 23/33] Specific package for context based analysis #254 --- .../{ => context}/ContextBasedAnalysis.java | 10 +++++++--- .../{ => context}/ContextInsensitiveToken.java | 3 ++- .../{ => context}/ContextSensitivityToken.java | 3 ++- .../interprocedural/{ => context}/KDepthToken.java | 3 ++- .../interprocedural/{ => context}/LastCallToken.java | 3 ++- .../{ => context}/RecursionFreeToken.java | 3 ++- .../{ => context}/recursion/Recursion.java | 2 +- .../{ => context}/recursion/RecursionNode.java | 2 +- .../unive/lisa/EqualityContractVerificationTest.java | 4 ++-- .../interprocedural/ContextSensitiveAnalysisTest.java | 4 ++-- .../lisa/cron/interprocedural/RecursionsTest.java | 8 ++++---- .../lisa/cron/nonInterference/NonInterferenceTest.java | 4 ++-- .../it/unive/lisa/cron/taint/TaintAnalysesTest.java | 2 +- .../lisa/cron/visualization/VisualizationTest.java | 5 +++-- 14 files changed, 33 insertions(+), 23 deletions(-) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/ContextBasedAnalysis.java (96%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/ContextInsensitiveToken.java (93%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/ContextSensitivityToken.java (82%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/KDepthToken.java (96%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/LastCallToken.java (95%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/RecursionFreeToken.java (96%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/recursion/Recursion.java (98%) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/{ => context}/recursion/RecursionNode.java (96%) 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/context/ContextBasedAnalysis.java similarity index 96% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java index ddba36f4f..a36c8dab3 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextBasedAnalysis.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java @@ -1,4 +1,4 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; import java.util.Collection; import java.util.Collections; @@ -30,8 +30,12 @@ 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.recursion.Recursion; -import it.unive.lisa.interprocedural.recursion.RecursionNode; +import it.unive.lisa.interprocedural.CFGResults; +import it.unive.lisa.interprocedural.CallGraphBasedAnalysis; +import it.unive.lisa.interprocedural.FixpointResults; +import it.unive.lisa.interprocedural.NoEntryPointException; +import it.unive.lisa.interprocedural.context.recursion.Recursion; +import it.unive.lisa.interprocedural.context.recursion.RecursionNode; import it.unive.lisa.logging.IterationLogger; import it.unive.lisa.logging.TimerLogger; import it.unive.lisa.program.cfg.CFG; 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/context/ContextInsensitiveToken.java similarity index 93% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextInsensitiveToken.java index 65d7cb0b8..19bdb6338 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextInsensitiveToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextInsensitiveToken.java @@ -1,5 +1,6 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; +import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; /** 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/context/ContextSensitivityToken.java similarity index 82% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextSensitivityToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextSensitivityToken.java index a37b38b3c..dafbca999 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ContextSensitivityToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextSensitivityToken.java @@ -1,5 +1,6 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; +import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; /** diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java similarity index 96% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java index 255baa68a..d57be2373 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/KDepthToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java @@ -1,9 +1,10 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java similarity index 95% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java index 1e3f2b5b7..87bf48023 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/LastCallToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/LastCallToken.java @@ -1,6 +1,7 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; import it.unive.lisa.analysis.ScopeToken; +import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; /** 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/context/RecursionFreeToken.java similarity index 96% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java index c8b812f22..3bbdbc6b1 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/RecursionFreeToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java @@ -1,9 +1,10 @@ -package it.unive.lisa.interprocedural; +package it.unive.lisa.interprocedural.context; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java similarity index 98% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java index 7dfba1f03..62d8906c4 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/Recursion.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/Recursion.java @@ -1,4 +1,4 @@ -package it.unive.lisa.interprocedural.recursion; +package it.unive.lisa.interprocedural.context.recursion; import java.util.HashSet; import java.util.LinkedList; diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java similarity index 96% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java index 8c7818d54..48bd4b83c 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/recursion/RecursionNode.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java @@ -1,4 +1,4 @@ -package it.unive.lisa.interprocedural.recursion; +package it.unive.lisa.interprocedural.context.recursion; import java.util.Collections; import java.util.Set; 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 bdca28426..6c67ac8b5 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,11 @@ import it.unive.lisa.imp.IMPFeatures; import it.unive.lisa.imp.types.IMPTypeSystem; import it.unive.lisa.interprocedural.CFGResults; -import it.unive.lisa.interprocedural.ContextSensitivityToken; import it.unive.lisa.interprocedural.FixpointResults; -import it.unive.lisa.interprocedural.KDepthToken; import it.unive.lisa.interprocedural.callgraph.CallGraphEdge; import it.unive.lisa.interprocedural.callgraph.CallGraphNode; +import it.unive.lisa.interprocedural.context.ContextSensitivityToken; +import it.unive.lisa.interprocedural.context.KDepthToken; import it.unive.lisa.outputs.json.JsonReport; import it.unive.lisa.outputs.json.JsonReport.JsonWarning; import it.unive.lisa.outputs.serializableGraph.SerializableEdge; 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 cd7e49695..5817c7234 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 @@ -13,9 +13,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.RecursionFreeToken; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { 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 index 75504d59b..dc93f09fe 100644 --- 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 @@ -11,11 +11,11 @@ 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.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.ContextInsensitiveToken; -import it.unive.lisa.interprocedural.KDepthToken; -import it.unive.lisa.interprocedural.LastCallToken; 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.KDepthToken; +import it.unive.lisa.interprocedural.context.LastCallToken; public class RecursionsTest extends AnalysisTestExecutor { 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..bd5517077 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.RecursionFreeToken; import it.unive.lisa.program.cfg.CFG; import it.unive.lisa.program.cfg.statement.Assignment; import it.unive.lisa.program.cfg.statement.Expression; 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 992a79568..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; 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..d9ddd4273 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,10 @@ 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.RecursionFreeToken; + import java.util.Collection; import java.util.HashSet; import org.junit.AfterClass; From 2e0b488a5c5220eedce06151e4c44646c7d9323f Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 19:28:24 +0200 Subject: [PATCH 24/33] Generic instances of basic lattice structures #254 --- .../lattices/GenericInverseSetLattice.java | 38 +++++++++++++++++++ .../analysis/lattices/GenericMapLattice.java | 32 ++++++++++++++++ .../analysis/lattices/GenericSetLattice.java | 38 +++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericInverseSetLattice.java create mode 100644 lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericMapLattice.java create mode 100644 lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericSetLattice.java 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..2dffda7c2 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericInverseSetLattice.java @@ -0,0 +1,38 @@ +package it.unive.lisa.analysis.lattices; + +import java.util.Collections; +import java.util.Set; + +public class GenericInverseSetLattice extends InverseSetLattice, E> { + + public GenericInverseSetLattice() { + super(Collections.emptySet(), true); + } + + public GenericInverseSetLattice(E element) { + super(Collections.singleton(element), true); + } + + public GenericInverseSetLattice(Set elements) { + super(elements, true); + } + + 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..78a567d42 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericMapLattice.java @@ -0,0 +1,32 @@ +package it.unive.lisa.analysis.lattices; + +import java.util.Map; + +import it.unive.lisa.analysis.Lattice; + +public class GenericMapLattice> + extends FunctionalLattice, K, V> { + + public GenericMapLattice(V lattice) { + super(lattice); + } + + private 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..a0a3c0767 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/lattices/GenericSetLattice.java @@ -0,0 +1,38 @@ +package it.unive.lisa.analysis.lattices; + +import java.util.Collections; +import java.util.Set; + +public class GenericSetLattice extends SetLattice, E> { + + public GenericSetLattice() { + super(Collections.emptySet(), true); + } + + public GenericSetLattice(E element) { + super(Collections.singleton(element), true); + } + + public GenericSetLattice(Set elements) { + super(elements, true); + } + + 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); + } +} From d83422173ad61293424cd80985c4498e165dc75e Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 13 Apr 2023 22:34:04 +0200 Subject: [PATCH 25/33] Recursion solving #254 --- .../CallGraphBasedAnalysis.java | 12 +- .../context/ContextBasedAnalysis.java | 216 ++++++++++++------ .../context/ContextSensitivityToken.java | 2 +- .../interprocedural/context/KDepthToken.java | 7 +- .../context/RecursionFreeToken.java | 7 +- .../context/recursion/Recursion.java | 119 ++++++---- .../context/recursion/RecursionNode.java | 71 ------ .../context/recursion/RecursionSolver.java | 185 +++++++++++++++ .../EqualityContractVerificationTest.java | 2 + .../ContextSensitiveAnalysisTest.java | 3 +- .../cron/interprocedural/RecursionsTest.java | 3 +- .../cron/visualization/VisualizationTest.java | 1 - .../lisa/program/cfg/SemanticsSanityTest.java | 2 + .../it/unive/lisa/analysis/AnalyzedCFG.java | 29 ++- .../lisa/analysis/OptimizedAnalyzedCFG.java | 23 +- .../analysis/lattices/GenericMapLattice.java | 3 +- .../callgraph/BaseCallGraph.java | 28 ++- .../interprocedural/callgraph/CallGraph.java | 7 +- .../program/cfg/statement/call/CFGCall.java | 12 +- .../program/cfg/statement/call/OpenCall.java | 8 +- .../OrderPreservingAssigningStrategy.java | 2 + .../PythonLikeAssigningStrategy.java | 2 + .../unive/lisa/symbolic/value/Identifier.java | 4 + .../symbolic/value/OutOfScopeIdentifier.java | 6 + .../it/unive/lisa/util/StringUtilities.java | 21 ++ .../datastructures/graph/algorithms/SCCs.java | 11 +- 26 files changed, 544 insertions(+), 242 deletions(-) delete mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java create mode 100644 lisa/lisa-sdk/src/main/java/it/unive/lisa/util/StringUtilities.java 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..0cf47afcd 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,15 @@ public abstract class CallGraphBasedAnalysis */ protected OpenCallPolicy policy; + public CallGraphBasedAnalysis() { + } + + 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/context/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java index a36c8dab3..07de6dda3 100644 --- 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 @@ -1,20 +1,5 @@ package it.unive.lisa.interprocedural.context; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.IdentityHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -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; - import it.unive.lisa.AnalysisExecutionException; import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.DefaultParameters; @@ -35,18 +20,32 @@ import it.unive.lisa.interprocedural.FixpointResults; import it.unive.lisa.interprocedural.NoEntryPointException; import it.unive.lisa.interprocedural.context.recursion.Recursion; -import it.unive.lisa.interprocedural.context.recursion.RecursionNode; +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.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.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.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Map; +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 @@ -66,19 +65,45 @@ public class ContextBasedAnalysis, 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; + /** + * The recursions that have been found during the current iteration, and + * that must be solved before beginning the next one. + */ private final Set> recursions; - private final Map> ongoingCalls; + /** + * The entry state (pre-states and parameters states) of each call that has + * yet to return. This is needed for retrieving the entry state at the start + * of a recursion when one is found. + */ + private final Map>> ongoingCalls; - private FixpointResults results; + /** + * The results computed by this analysis. + */ + protected FixpointResults results; + /** + * The kind of {@link WorkingSet} to use during this analysis. + */ private Class> workingSet; - private ContextSensitivityToken token; + /** + * The current sensitivity token. + */ + protected ContextSensitivityToken token; - private FixpointConfiguration conf; + /** + * The fixpoint configuration. + */ + protected FixpointConfiguration conf; /** * Builds the analysis, using {@link LastCallToken}s. @@ -100,6 +125,17 @@ public ContextBasedAnalysis(ContextSensitivityToken token) { ongoingCalls = new IdentityHashMap<>(); } + protected ContextBasedAnalysis(ContextBasedAnalysis other) { + super(other); + this.conf = other.conf; + this.ongoingCalls = other.ongoingCalls; + this.recursions = other.recursions; + this.results = other.results; + this.token = other.token; + this.triggers = other.triggers; + this.workingSet = other.workingSet; + } + @Override public void fixpoint( AnalysisState entryState, @@ -117,20 +153,6 @@ public void fixpoint( 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 = (ContextSensitivityToken) token.startingId(); @@ -140,7 +162,7 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx entryPoints.addAll(app.getEntryPoints()); do { - LOG.info("Performing {} fixpoint iteration", ordinal(iter + 1)); + LOG.info("Performing {} fixpoint iteration", StringUtilities.ordinal(iter + 1)); triggers.clear(); for (CFG cfg : IterationLogger.iterate(LOG, entryPoints, "Processing entrypoints", "entries")) try { @@ -168,7 +190,7 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx Set> eqclass = new HashSet<>(); eqclass.add(recursion); for (Recursion rec2 : recursions) - if (!recursion.equals(rec2) && recursion.equalsUpToCalls(rec2)) + if (!recursion.equals(rec2) && recursion.canBeMergedWith(rec2)) eqclass.add(rec2); recursions.removeAll(eqclass); if (eqclass.size() == 1) @@ -184,9 +206,13 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx } } - for (Recursion rec : compacted) { - // TODO solve the recursions here - triggers.addAll(rec.getInvolvedCFGs()); + try { + for (Recursion rec : compacted) { + new RecursionSolver<>(this, rec).solve(); + triggers.addAll(rec.getInvolvedCFGs()); + } + } catch (SemanticException e) { + throw new AnalysisExecutionException("Unable to solve one or more recursions", e); } recursions.clear(); @@ -239,58 +265,99 @@ private AnalyzedCFG computeFixpoint( token); Pair> res = results.putResult(cfg, token, fixpointResult); if (Boolean.TRUE.equals(res.getLeft())) - // recursion members will be all added at the end of the recursion triggers.add(cfg); return res.getRight(); } + protected boolean canShortcut(CFG cfg) { + return true; + } + @Override public FixpointResults getFixpointResults() { return results; } - private void computeRecursionsEndingWith(CFGCall call) throws SemanticException { + private void computeRecursionsEndingWith( + CFGCall call, + AnalysisState entryState, + ContextSensitivityToken token) + throws SemanticException { for (Collection rec : callgraph.getRecursionsContaining(call.getCFG())) { Collection remaining = new HashSet<>(rec); - List nodes = new LinkedList<>(); - CFG iterator = call.getCFG(); // we begin from the tail of the recursion - nodes.add(new RecursionNode(call, iterator)); + CFG iterator = call.getCFG(); remaining.remove(iterator); + // we follow callsites back to where the recursion begins while (!remaining.isEmpty()) { - Set sites = callgraph.getCallSites(iterator).stream() + Set sites = callgraph.getCallSites(iterator).stream() .filter(site -> remaining.contains(site.getCFG())) - .filter(CFGCall.class::isInstance) - .map(CFGCall.class::cast) .collect(Collectors.toSet()); if (sites.isEmpty()) throw new SemanticException("Recursion with no valid entry point found"); else { iterator = sites.iterator().next().getCFG(); - for (CFGCall site : sites) + for (Call site : sites) if (!site.getCFG().equals(iterator)) throw new SemanticException("Recursion with non-linear path found"); - nodes.add(new RecursionNode(sites, iterator)); remaining.remove(iterator); } } // iterator will now contain the entry node of the recursion - Set sites = callgraph.getCallSites(iterator).stream() + Collection callsites = callgraph.getCallSites(iterator); + Set sites = callsites.stream() .filter(site -> !rec.contains(site.getCFG())) - .filter(CFGCall.class::isInstance) .filter(ongoingCalls::containsKey) - .map(CFGCall.class::cast) .collect(Collectors.toSet()); - for (CFGCall site : sites) - recursions.add(new Recursion<>(site, nodes, ongoingCalls.get(site))); + for (Call site : sites) { + Recursion recursion = new Recursion<>( + site, + (CFG) iterator, + Map.of(call, token), + rec, + ongoingCalls.get(site).getLeft(), + ongoingCalls.get(site).getRight()); + if (recursions.add(recursion)) + LOG.info("Found recursion at " + site.getLocation()); + } } } + protected 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, @@ -301,18 +368,27 @@ public AnalysisState getAbstractResultOf( callgraph.registerCall(call); ContextSensitivityToken callerToken = token; token = token.push(call); - ongoingCalls.put(call, entryState); if (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 - computeRecursionsEndingWith(call); + computeRecursionsEndingWith(call, entryState, token); + token = callerToken; + // we return bottom for now - return entryState.bottom(); + if (returnsVoid(call, null)) + return entryState.bottom(); + else + return new AnalysisState<>( + entryState.getState().bottom(), + call.getMetaVariable(), + entryState.getAliasing().bottom()); } + Call callsite = call.getSource() == null ? call : call.getSource(); + ongoingCalls.put(callsite, Pair.of(token, CompoundState.of(entryState, expressions))); ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); @@ -321,28 +397,16 @@ public AnalysisState getAbstractResultOf( for (CFG cfg : call.getTargetedCFGs()) { CFGResults localResults = results.get(cfg); AnalyzedCFG states = localResults == null ? null : localResults.get(token); - 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( + Pair, ExpressionSet[]> prepared = prepareEntryState( call, - callState, - this, + entryState, + parameters, expressions, - formals, - locals); + scope, + cfg); AnalysisState exitState; - if (states != null && prepared.getLeft().lessOrEqual(states.getEntryState())) + 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 @@ -363,7 +427,7 @@ public AnalysisState getAbstractResultOf( result = result.lub(unscope(call, scope, exitState)); } - ongoingCalls.remove(call); + ongoingCalls.remove(callsite); token = callerToken; return result; } 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 index dafbca999..94a66b30e 100644 --- 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 @@ -9,7 +9,7 @@ * some of the calls appearing in it. */ public interface ContextSensitivityToken extends ScopeId { - + // we redefine this just to give a more specific return type @Override ContextSensitivityToken push(CFGCall 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 index d57be2373..e8697b5b5 100644 --- 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 @@ -1,12 +1,11 @@ package it.unive.lisa.interprocedural.context; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import it.unive.lisa.interprocedural.ScopeId; 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 diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java index 3bbdbc6b1..5deaf796a 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java @@ -1,12 +1,11 @@ package it.unive.lisa.interprocedural.context; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import it.unive.lisa.interprocedural.ScopeId; 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 until a recursion 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 index 62d8906c4..b9edcd304 100644 --- 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 @@ -1,33 +1,50 @@ package it.unive.lisa.interprocedural.context.recursion; +import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; +import java.util.Map; import it.unive.lisa.analysis.AbstractState; -import it.unive.lisa.analysis.AnalysisState; 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.CFGCall; +import it.unive.lisa.program.cfg.statement.call.Call; public class Recursion, H extends HeapDomain, V extends ValueDomain, T extends TypeDomain> { - private final CFGCall start; + private final Call start; - private final List nodes; + private final CFG head; - private final AnalysisState entryState; + private final Map backCalls; - public Recursion(CFGCall start, List nodes, AnalysisState entryState) { + private final Collection nodes; + + private final ContextSensitivityToken token; + + private final CompoundState entryState; + + public Recursion( + Call start, + CFG head, + Map backCalls, + Collection nodes, + ContextSensitivityToken token, + CompoundState entryState) { this.start = start; + this.head = head; + this.backCalls = backCalls; this.nodes = nodes; + this.token = token; this.entryState = entryState; } @@ -35,9 +52,12 @@ public Recursion(CFGCall start, List nodes, AnalysisState other = (Recursion) obj; - if (entryState == null) { - if (other.entryState != null) + if (token == null) { + if (other.token != null) return false; - } else if (!entryState.equals(other.entryState)) + } else if (!token.equals(other.token)) + return false; + if (head == null) { + if (other.head != null) + return false; + } else if (!head.equals(other.head)) return false; if (nodes == null) { if (other.nodes != null) @@ -65,56 +90,72 @@ public boolean equals(Object obj) { return false; } else if (!start.equals(other.start)) return false; + if (entryState == null) { + if (other.entryState != null) + return false; + } else if (!entryState.equals(other.entryState)) + return false; + if (backCalls == null) { + if (other.backCalls != null) + return false; + } else if (!backCalls.equals(other.backCalls)) + return false; return true; } - - public CFGCall getStart() { + + public Call getStart() { return start; } - public List getNodes() { - return nodes; + public CFG getHead() { + return head; } - public AnalysisState getEntryState() { + public Map getBackCalls() { + return backCalls; + } + + public ContextSensitivityToken getToken() { + return token; + } + + public CompoundState getEntryState() { return entryState; } - public List getInvolvedCFGs() { - return nodes.stream().map(n -> n.getTarget()).collect(Collectors.toList()); + public Collection getInvolvedCFGs() { + return nodes; } - - public boolean equalsUpToCalls(Recursion other) { - if (entryState == null) { - if (other.entryState != null) + + public boolean canBeMergedWith(Recursion other) { + if (head == null) { + if (other.head != null) return false; - } else if (!entryState.equals(other.entryState)) + } else if (!head.equals(other.head)) return false; if (start == null) { if (other.start != null) return false; } else if (!start.equals(other.start)) return false; - if (nodes == null) { - if (other.nodes != null) + if (token == null) { + if (other.token != null) + return false; + } else if (!token.equals(other.token)) + return false; + if (entryState == null) { + if (other.entryState != null) return false; - } else if (nodes.size() != other.nodes.size()) + } else if (!entryState.equals(other.entryState)) return false; - else - for (int i = 0; i < nodes.size(); i++) - if (!nodes.get(i).equalsUpToCalls(other.nodes.get(i))) - return false; return true; } public Recursion merge(Recursion other) { - List merged = new LinkedList<>(); - for (int i = 0; i < nodes.size(); i++) { - RecursionNode node = nodes.get(i); - Set calls = new HashSet<>(node.getCalls()); - calls.addAll(other.nodes.get(i).getCalls()); - merged.add(new RecursionNode(calls, node.getTarget())); - } - return new Recursion<>(start, merged, entryState); + Collection mergedNodes = new HashSet<>(nodes); + Map mergedBackCalls = new HashMap<>(backCalls); + mergedNodes.addAll(other.nodes); + mergedBackCalls.putAll(other.backCalls); + return new Recursion<>(start, head, mergedBackCalls, mergedNodes, token, entryState); } } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java deleted file mode 100644 index 48bd4b83c..000000000 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionNode.java +++ /dev/null @@ -1,71 +0,0 @@ -package it.unive.lisa.interprocedural.context.recursion; - -import java.util.Collections; -import java.util.Set; - -import it.unive.lisa.program.cfg.CFG; -import it.unive.lisa.program.cfg.statement.call.CFGCall; - -public class RecursionNode { - - private final Set calls; - - private final CFG target; - - public RecursionNode(CFGCall call, CFG target) { - this(Collections.singleton(call), target); - } - - public RecursionNode(Set calls, CFG target) { - this.calls = calls; - this.target = target; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((calls == null) ? 0 : calls.hashCode()); - result = prime * result + ((target == null) ? 0 : target.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; - RecursionNode other = (RecursionNode) obj; - if (calls == null) { - if (other.calls != null) - return false; - } else if (!calls.equals(other.calls)) - return false; - if (target == null) { - if (other.target != null) - return false; - } else if (!target.equals(other.target)) - return false; - return true; - } - - public Set getCalls() { - return calls; - } - - public CFG getTarget() { - return target; - } - - public boolean equalsUpToCalls(RecursionNode other) { - if (target == null) { - if (other.target != null) - return false; - } else if (!target.equals(other.target)) - return false; - return true; - } -} 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..10a11ccb7 --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java @@ -0,0 +1,185 @@ +package it.unive.lisa.interprocedural.context.recursion; + +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +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; +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.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; + +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 GenericMapLattice> previousApprox; + + private GenericMapLattice> recursiveApprox; + + private final Map, + ExpressionSet[], + StatementStore>> finalEntryStates; + + public RecursionSolver(ContextBasedAnalysis backing, Recursion recursion) { + super(backing); + this.recursion = recursion; + finalEntryStates = new HashMap<>(); + } + + @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 { + AnalysisState approx = recursiveApprox.getMap().get(call); + if (approx != null) { + finalEntryStates.put(call, Triple.of(entryState, parameters, expressions)); + // 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.getInvolvedCFGs().contains(cfg); + } + + public void solve() throws SemanticException { + int recursionCount = 0; + Call start = recursion.getStart(); + Map ends = recursion.getBackCalls(); + CompoundState entryState = recursion.getEntryState(); + + LOG.info("Solving recursion at " + start.getLocation()); + + recursiveApprox = new GenericMapLattice<>(entryState.postState.bottom()); + // the return value of each back call must be the same as the one + // starting the recursion, as they invoke the same cfg + boolean returnsVoid = returnsVoid(start, null); + for (CFGCall end : ends.keySet()) + if (returnsVoid) + recursiveApprox = recursiveApprox.putState(end, entryState.postState.bottom()); + else + recursiveApprox = recursiveApprox.putState(end, new AnalysisState<>( + entryState.postState.getState().bottom(), + end.getMetaVariable(), + entryState.postState.getAliasing().bottom())); + + previousApprox = recursiveApprox; + + do { + LOG.debug(StringUtilities.ordinal(recursionCount + 1) + + " evaluation of recursive chain at " + + start.getLocation()); + + previousApprox = recursiveApprox; + AnalysisState post = start.semantics(entryState.postState, this, entryState.intermediateStates); + for (CFGCall end : ends.keySet()) { + AnalysisState res = post.bottom(); + Identifier meta = end.getMetaVariable(); + if (returnsVoid) + res = post; + else + for (Identifier variable : start.getMetaVariables()) + // we transfer the return value + res = res.lub(post.assign(meta, variable, start)); + + // we don't keep variables that are in scope here: + // those will not be in scope at the recursion closure + // except for the return value of the specific call + res = res.forgetIdentifiersIf(i -> !i.isScopedByCall() && !i.equals(meta)); + recursiveApprox = recursiveApprox.putState(end, res); + } + + if (conf.wideningThreshold < 0) + recursiveApprox = previousApprox.lub(recursiveApprox); + else if (recursionCount == conf.wideningThreshold) + recursiveApprox = previousApprox.widening(recursiveApprox); + else { + recursionCount++; + recursiveApprox = previousApprox.lub(recursiveApprox); + } + } while (!recursiveApprox.lessOrEqual(previousApprox)); + + // at this point, the fixpoint results are just missing an entry for the + // recursive target of the ending calls + for (Entry end : ends.entrySet()) { + AnalyzedCFG recHead = results.get(recursion.getHead()).get(recursion.getToken()); + CFGCall call = end.getKey(); + Triple, + ExpressionSet[], + StatementStore> triple = finalEntryStates.get(call); + Pair, ExpressionSet[]> entry = prepareEntryState( + end.getKey(), + triple.getLeft(), + triple.getMiddle(), + triple.getRight(), + new ScopeToken(call), + recHead); + results.putResult(recursion.getHead(), end.getValue(), recHead.withModifiedEntryState(entry.getLeft())); + } + } +} 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 6c67ac8b5..e700abdc9 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 @@ -36,6 +36,7 @@ import it.unive.lisa.interprocedural.callgraph.CallGraphNode; 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; @@ -485,6 +486,7 @@ 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 == KDepthToken.class) 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 5817c7234..eb68ce8a6 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 @@ -2,8 +2,6 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; -import org.junit.Test; - import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -16,6 +14,7 @@ import it.unive.lisa.interprocedural.callgraph.RTACallGraph; import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; import it.unive.lisa.interprocedural.context.RecursionFreeToken; +import org.junit.Test; public class ContextSensitiveAnalysisTest extends AnalysisTestExecutor { 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 index dc93f09fe..811299af7 100644 --- 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 @@ -2,8 +2,6 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; -import org.junit.Test; - import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -16,6 +14,7 @@ import it.unive.lisa.interprocedural.context.ContextInsensitiveToken; import it.unive.lisa.interprocedural.context.KDepthToken; import it.unive.lisa.interprocedural.context.LastCallToken; +import org.junit.Test; public class RecursionsTest extends AnalysisTestExecutor { 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 d9ddd4273..4a7d3536a 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 @@ -14,7 +14,6 @@ import it.unive.lisa.interprocedural.callgraph.RTACallGraph; import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; import it.unive.lisa.interprocedural.context.RecursionFreeToken; - import java.util.Collection; import java.util.HashSet; import org.junit.AfterClass; 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-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java index 1197de1c4..c89a0f98b 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java @@ -1,5 +1,10 @@ package it.unive.lisa.analysis; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; +import java.util.Map.Entry; + import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.value.TypeDomain; import it.unive.lisa.analysis.value.ValueDomain; @@ -8,9 +13,6 @@ import it.unive.lisa.program.cfg.edge.Edge; import it.unive.lisa.program.cfg.statement.Expression; import it.unive.lisa.program.cfg.statement.Statement; -import java.util.Collection; -import java.util.Collections; -import java.util.Map; /** * A control flow graph, that has {@link Statement}s as nodes and {@link Edge}s @@ -340,4 +342,25 @@ public boolean equals(Object obj) { return false; return true; } + + public AnalyzedCFG withModifiedEntryState(AnalysisState entry) throws SemanticException { + StatementStore newEntries = new StatementStore<>(entry.top()); + StatementStore newResults = new StatementStore<>(entry.top()); + + // out of scope identifiers are relative to the entry state + // we forget them all and replace them with the ones in entry + // TODO this is a best effort: we might have an identifier scoped by + // a call and then by another scoper. This will stay in the states + // of this graph and will cause some confusion + for (Entry> entryState : entryStates) + newEntries.put(entryState.getKey(), entryState.getValue() + .forgetIdentifiersIf(i -> i.isScopedByCall()) + .lub(entry)); + for (Entry> result : results) + newResults.put(result.getKey(), result.getValue() + .forgetIdentifiersIf(i -> i.isScopedByCall()) + .lub(entry)); + + return new AnalyzedCFG<>(this, id, newEntries, newResults); + } } 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 05f32bcd2..a09105858 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 @@ -250,7 +250,7 @@ public void fixpoint(AnalysisState entryState, @Override public Collection> getAnalysisResultsOf(CFG cfg) { - return interprocedural.getAnalysisResultsOf(cfg); + throw new UnsupportedOperationException(); } @Override @@ -363,4 +363,25 @@ public OptimizedAnalyzedCFG top() { public OptimizedAnalyzedCFG bottom() { return new OptimizedAnalyzedCFG<>(this, id.startingId(), entryStates.bottom(), results.bottom(), null, null); } + + @Override + public AnalyzedCFG withModifiedEntryState(AnalysisState entry) throws SemanticException { + AnalyzedCFG sup = super.withModifiedEntryState(entry); + StatementStore newExpanded = null; + + if (expanded != null) { + // out of scope identifiers are relative to the entry state + // we forget them all and replace them with the ones in entry + // TODO this is a best effort: we might have an identifier scoped by + // a call and then by another scoper. This will stay in the states + // of this graph and will cause some confusion + newExpanded = new StatementStore<>(entry.top()); + for (Entry> result : expanded) + newExpanded.put(result.getKey(), result.getValue() + .forgetIdentifiersIf(i -> i.isScopedByCall()) + .lub(entry)); + } + + return new OptimizedAnalyzedCFG<>(this, id, sup.entryStates, sup.results, newExpanded, interprocedural); + } } 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 index 78a567d42..4c9530f2e 100644 --- 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 @@ -1,8 +1,7 @@ package it.unive.lisa.analysis.lattices; -import java.util.Map; - import it.unive.lisa.analysis.Lattice; +import java.util.Map; public class GenericMapLattice> extends FunctionalLattice, K, V> { 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 b587ac828..c1e8ec55a 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 @@ -1,20 +1,5 @@ package it.unive.lisa.interprocedural.callgraph; -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; - import it.unive.lisa.analysis.symbols.Aliases; import it.unive.lisa.analysis.symbols.NameSymbol; import it.unive.lisa.analysis.symbols.QualifiedNameSymbol; @@ -43,6 +28,19 @@ import it.unive.lisa.type.Type; import it.unive.lisa.util.datastructures.graph.BaseGraph; import it.unive.lisa.util.datastructures.graph.algorithms.SCCs; +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; /** * An instance of {@link CallGraph} that provides the basic mechanism to resolve 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 c99700245..57c1be46b 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 @@ -1,9 +1,5 @@ package it.unive.lisa.interprocedural.callgraph; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - import it.unive.lisa.analysis.symbols.SymbolAliasing; import it.unive.lisa.program.Application; import it.unive.lisa.program.cfg.CodeMember; @@ -13,6 +9,9 @@ import it.unive.lisa.type.Type; import it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet; import it.unive.lisa.util.collections.workset.VisitOnceWorkingSet; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; /** * A callgraph of the program to analyze, that knows how to resolve dynamic 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..f21e0903e 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 @@ -1,5 +1,10 @@ package it.unive.lisa.program.cfg.statement.call; +import java.util.Collection; +import java.util.Iterator; +import java.util.Objects; +import java.util.stream.Collectors; + import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalysisState; import it.unive.lisa.analysis.SemanticException; @@ -14,7 +19,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; @@ -22,17 +26,13 @@ import it.unive.lisa.symbolic.value.Variable; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; -import java.util.Collection; -import java.util.Iterator; -import java.util.Objects; -import java.util.stream.Collectors; /** * A call to one or more of the CFGs under analysis. * * @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/OpenCall.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/OpenCall.java index acc8c377a..773bd9f9c 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 @@ -1,5 +1,8 @@ package it.unive.lisa.program.cfg.statement.call; +import java.util.Collection; +import java.util.Collections; + import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalysisState; import it.unive.lisa.analysis.SemanticException; @@ -13,7 +16,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; @@ -21,15 +23,13 @@ import it.unive.lisa.symbolic.value.Variable; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; -import java.util.Collection; -import java.util.Collections; /** * A call to a CFG that is not under analysis. * * @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/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/value/Identifier.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/Identifier.java index c398d81d5..ddf803ebb 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 @@ -69,6 +69,10 @@ public boolean isWeak() { return weak; } + public boolean isScopedByCall() { + return false; + } + @Override public int hashCode() { final int prime = 31; 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 c986d1dcb..de470a8b3 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 @@ -3,6 +3,7 @@ import it.unive.lisa.analysis.ScopeToken; import it.unive.lisa.analysis.SemanticException; 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; @@ -47,6 +48,11 @@ public Identifier popScope(ScopeToken token) throws SemanticException { return null; } + @Override + public boolean isScopedByCall() { + return scope.getScoper() instanceof Call; + } + /** * Returns the scope of the identifier. * 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..5ce89a147 --- /dev/null +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/StringUtilities.java @@ -0,0 +1,21 @@ +package it.unive.lisa.util; + +public class StringUtilities { + + private StringUtilities() { + } + + 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/datastructures/graph/algorithms/SCCs.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/datastructures/graph/algorithms/SCCs.java index 239a1af62..ffd0dc5d0 100644 --- 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 @@ -1,16 +1,15 @@ package it.unive.lisa.util.datastructures.graph.algorithms; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - 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 From a975ea303eefb74980351b2c1c8eb32061f9e76e Mon Sep 17 00:00:00 2001 From: lucaneg Date: Fri, 14 Apr 2023 17:15:57 +0200 Subject: [PATCH 26/33] Baselining tests and fixes #254 --- .../factorial/insensitive/report.json | 10 +- ...factorial(factorial__this,_untyped_n).json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + ...rectRecursion(tests__this,_untyped_n).json | 1 - ...ed_tests.main(tests__this,_untyped_a).json | 1 - .../factorial/kdepth/report.json | 12 +- ...ctorial__this,_untyped_n)_-1504338471.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + ...on(tests__this,_untyped_n)_-270289677.json | 1 - ...ion(tests__this,_untyped_n)_-59335258.json | 1 - ...ed_tests.main(tests__this,_untyped_a).json | 1 - .../factorial/last/report.json | 12 +- ...ctorial__this,_untyped_n)_-1504338471.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + ...on(tests__this,_untyped_n)_-270289677.json | 1 - ...on(tests__this,_untyped_n)_-270289832.json | 1 - ...ed_tests.main(tests__this,_untyped_a).json | 1 - .../insensitive/report.json | 36 ++++ ...actorialInterleaved__this,_untyped_n).json | 1 + ...actorialInterleaved__this,_untyped_x).json | 1 + ...actorialInterleaved__this,_untyped_a).json | 1 + .../factorialInterleaved/kdepth/report.json | 36 ++++ ...nterleaved__this,_untyped_n)_94492061.json | 1 + ...rleaved__this,_untyped_x)_-1271226490.json | 1 + ...actorialInterleaved__this,_untyped_a).json | 1 + .../factorialInterleaved/last/report.json | 36 ++++ ...nterleaved__this,_untyped_n)_94492061.json | 1 + ...nterleaved__this,_untyped_x)_94486946.json | 1 + ...actorialInterleaved__this,_untyped_a).json | 1 + .../interprocedural/factorialLoop.imp | 4 +- .../factorialLoop/insensitive/report.json | 36 ++++ ...lLoop(factorialLoop__this,_untyped_n).json | 1 + ...pAux1(factorialLoop__this,_untyped_n).json | 1 + ...pAux2(factorialLoop__this,_untyped_n).json | 1 + ....main(factorialLoop__this,_untyped_a).json | 1 + .../factorialLoop/kdepth/report.json | 16 +- ...ialLoop__this,_untyped_n)_-1303134381.json | 1 + ...rialLoop__this,_untyped_n)_1249376116.json | 1 + ...ialLoop__this,_untyped_n)_-1227177876.json | 1 + ....main(factorialLoop__this,_untyped_a).json | 1 + ...op(tests__this,_untyped_n)_1721406355.json | 1 - ...oop(tests__this,_untyped_n)_470030347.json | 1 - ...x1(tests__this,_untyped_n)_-749568140.json | 1 - ...ux2(tests__this,_untyped_n)_-40366932.json | 1 - ...ed_tests.main(tests__this,_untyped_a).json | 1 - .../factorialLoop/last/report.json | 16 +- ...ialLoop__this,_untyped_n)_-1303134381.json | 1 + ...ialLoop__this,_untyped_n)_-1303131002.json | 1 + ...ialLoop__this,_untyped_n)_-1303131777.json | 1 + ....main(factorialLoop__this,_untyped_a).json | 1 + ...op(tests__this,_untyped_n)_1721405270.json | 1 - ...op(tests__this,_untyped_n)_1721406355.json | 1 - ...x1(tests__this,_untyped_n)_1721409734.json | 1 - ...x2(tests__this,_untyped_n)_1721408959.json | 1 - ...ed_tests.main(tests__this,_untyped_a).json | 1 - .../interprocedural/fibonacci.imp | 4 +- .../fibonacci/insensitive/report.json | 36 ++++ ...nacci.fib(fibonacci__this,_untyped_n).json | 1 + ...acci.main(fibonacci__this,_untyped_a).json | 1 + .../fibonacci/kdepth/report.json | 36 ++++ ...ibonacci__this,_untyped_n)_-718248077.json | 1 + ...acci.main(fibonacci__this,_untyped_a).json | 1 + .../fibonacci/last/report.json | 36 ++++ ...ibonacci__this,_untyped_n)_-718248077.json | 1 + ...acci.main(fibonacci__this,_untyped_a).json | 1 + .../insensitive/report.json | 36 ++++ ...factorial(factorial__this,_untyped_n).json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + .../infiniteRecursion1/kdepth/report.json | 36 ++++ ...factorial__this,_untyped_n)_344402949.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + .../infiniteRecursion1/last/report.json | 36 ++++ ...factorial__this,_untyped_n)_344402949.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + .../insensitive/report.json | 36 ++++ ...n(infiniteRecursion__this,_untyped_n).json | 1 + ...1(infiniteRecursion__this,_untyped_n).json | 1 + ...2(infiniteRecursion__this,_untyped_n).json | 1 + ...n(infiniteRecursion__this,_untyped_a).json | 1 + .../infiniteRecursion2/kdepth/report.json | 36 ++++ ...Recursion__this,_untyped_n)_345334468.json | 1 + ...cursion__this,_untyped_n)_-1834196494.json | 1 + ...ecursion__this,_untyped_n)_-680179425.json | 1 + ...n(infiniteRecursion__this,_untyped_a).json | 1 + .../infiniteRecursion2/last/report.json | 36 ++++ ...Recursion__this,_untyped_n)_345334468.json | 1 + ...Recursion__this,_untyped_n)_345336917.json | 1 + ...Recursion__this,_untyped_n)_345337072.json | 1 + ...n(infiniteRecursion__this,_untyped_a).json | 1 + .../interprocedural/twoRecursions.imp | 8 +- .../twoRecursions/insensitive/report.json | 36 ++++ ...his,_untyped_x,_untyped_b,_untyped_n).json | 1 + ...his,_untyped_x,_untyped_b,_untyped_n).json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...ec(tests__this,_untyped_n,_untyped_b).json | 1 + .../twoRecursions/kdepth/report.json | 36 ++++ ..._x,_untyped_b,_untyped_n)_-1670307468.json | 1 + ..._x,_untyped_b,_untyped_n)_-1670307375.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...his,_untyped_n,_untyped_b)_-186414910.json | 1 + .../twoRecursions/last/report.json | 36 ++++ ...d_x,_untyped_b,_untyped_n)_-186412523.json | 1 + ...d_x,_untyped_b,_untyped_n)_-186412430.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...his,_untyped_n,_untyped_b)_-186414910.json | 1 + .../lisa/analysis/types/InferredTypes.java | 5 + .../ModularWorstCaseAnalysis.java | 1 + .../context/ContextBasedAnalysis.java | 180 ++++++++---------- .../context/ContextInsensitiveToken.java | 9 +- .../context/ContextSensitivityToken.java | 6 +- .../interprocedural/context/KDepthToken.java | 3 +- .../context/LastCallToken.java | 3 +- .../context/RecursionFreeToken.java | 3 +- .../context/recursion/Recursion.java | 71 +------ .../context/recursion/RecursionSolver.java | 158 +++++++++------ .../it/unive/lisa/AnalysisTestExecutor.java | 49 ++++- .../cron/interprocedural/RecursionsTest.java | 43 +++-- .../lisa/imp/expressions/IMPAddOrConcat.java | 8 +- .../it/unive/lisa/analysis/AnalyzedCFG.java | 29 +-- .../lisa/analysis/OptimizedAnalyzedCFG.java | 34 ++-- .../InterproceduralAnalysis.java | 5 +- .../callgraph/BaseCallGraph.java | 49 +---- .../interprocedural/callgraph/CallGraph.java | 120 ++++++++---- .../callgraph/CallGraphEdge.java | 4 +- .../callgraph/CallGraphNode.java | 10 +- .../program/cfg/statement/call/CFGCall.java | 9 +- .../program/cfg/statement/call/OpenCall.java | 5 +- .../unive/lisa/symbolic/value/Identifier.java | 2 +- .../datastructures/graph/AdjacencyMatrix.java | 4 + .../datastructures/graph/algorithms/SCCs.java | 30 ++- .../unive/lisa/util/numeric/IntInterval.java | 34 ++-- .../unive/lisa/util/numeric/MathNumber.java | 127 +++++++----- .../CheckToolWithAnalysisResultsTest.java | 3 +- 133 files changed, 1223 insertions(+), 520 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_factorial.main(factorial__this,_untyped_a).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_94486946.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_-1303131002.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1303131777.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json delete mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.main(tests__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.fib(fibonacci__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/untyped_fibonacci.main(fibonacci__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/untyped_fibonacci.main(fibonacci__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/untyped_fibonacci.main(fibonacci__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.factorial(factorial__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/untyped_factorial.main(factorial__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/untyped_factorial.main(factorial__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/untyped_factorial.main(factorial__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_345336917.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_345337072.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/untyped_tests.rec(tests__this,_untyped_n,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412523.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-186412430.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json index 395fcc87c..ad399ee9f 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n).json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "923ms", - "end" : "2023-03-24T11:49:28.910+01:00", + "duration" : "978ms", + "end" : "2023-04-14T17:01:24.023+02:00", "expressions" : "16", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-03-24T11:49:27.987+01:00", + "start" : "2023-04-14T17:01:23.045+02:00", "statements" : "6", "units" : "1", "version" : "0.1b7", @@ -31,6 +31,6 @@ "serializeResults" : "true", "syntacticChecks" : "", "wideningThreshold" : "5", - "workdir" : "test-outputs/interprocedural/directRecursion/insensitive" + "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/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json deleted file mode 100644 index ca75bc28b..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.directRecursion(tests__this,_untyped_n).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* 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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[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_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.main(tests__this,_untyped_a).json deleted file mode 100644 index e8bb17972..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/untyped_tests.main(tests__this,_untyped_a).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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 index d4870a013..b0a73b7bb 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "723ms", - "end" : "2023-03-26T23:12:21.432+02:00", + "duration" : "558ms", + "end" : "2023-04-14T10:34:25.960+02:00", "expressions" : "16", - "files" : "3", + "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-03-26T23:12:20.709+02:00", + "start" : "2023-04-14T10:34:25.402+02:00", "statements" : "6", "units" : "1", "version" : "0.1b7", @@ -31,6 +31,6 @@ "serializeResults" : "true", "syntacticChecks" : "", "wideningThreshold" : "5", - "workdir" : "test-outputs/interprocedural/directRecursion/kdepth" + "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/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json deleted file mode 100644 index 39d5348a3..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[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_tests.directRecursion(tests__this,_untyped_n)_-59335258.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json deleted file mode 100644 index 2a8e10508..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.directRecursion(tests__this,_untyped_n)_-59335258.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32, 'imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[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_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.main(tests__this,_untyped_a).json deleted file mode 100644 index e8bb17972..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/untyped_tests.main(tests__this,_untyped_a).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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 index d2720e502..85e2f023a 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json @@ -1,16 +1,16 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json", "untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "784ms", - "end" : "2023-03-24T11:21:44.696+01:00", + "duration" : "825ms", + "end" : "2023-04-14T12:13:02.586+02:00", "expressions" : "16", - "files" : "3", + "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-03-24T11:21:43.912+01:00", + "start" : "2023-04-14T12:13:01.761+02:00", "statements" : "6", "units" : "1", "version" : "0.1b7", @@ -31,6 +31,6 @@ "serializeResults" : "true", "syntacticChecks" : "", "wideningThreshold" : "5", - "workdir" : "test-outputs/interprocedural/directRecursion/last" + "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/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json deleted file mode 100644 index 39d5348a3..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289677.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':13:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[-Inf, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[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_tests.directRecursion(tests__this,_untyped_n)_-270289832.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json deleted file mode 100644 index 24ea662d5..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.directRecursion(tests__this,_untyped_n)_-270289832.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::directRecursion(tests* this, untyped n)","description":"['imp-testcases/interprocedural/directRecursion.imp':8:32]","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 +(directRecursion(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(directRecursion(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"directRecursion(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/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"ret_value@directRecursion":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]","ret_value@directRecursion":"[1, 1]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[1, 1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@directRecursion"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"n":"#TOP#","ret_value@directRecursion":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","n":"[2, +Inf]","ret_value@directRecursion":"[3, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 + n","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':8:32]:this":["tests*"],"['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':8:32]:['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:n":"[2, +Inf]","['imp-testcases/interprocedural/directRecursion.imp':8:32]:x":"[1, +Inf]","n":"[2, +Inf]","x":"[1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"#TOP#","['imp-testcases/interprocedural/directRecursion.imp':13:32]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/directRecursion.imp':13:32]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':8:32":"[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_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.main(tests__this,_untyped_a).json deleted file mode 100644 index e8bb17972..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/untyped_tests.main(tests__this,_untyped_a).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"x = directRecursion(this, a)"},{"id":1,"text":"x"},{"id":2,"subNodes":[3,4],"text":"directRecursion(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":["tests*"],"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/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/directRecursion.imp':13:32":"[1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"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..aea477a03 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "861ms", + "end" : "2023-04-14T17:03:45.358+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-14T17:03:44.497+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", + "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..cdb5a0332 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "928ms", + "end" : "2023-04-14T12:29:42.760+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-14T12:29:41.832+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", + "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..d1b6148d8 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "896ms", + "end" : "2023-04-14T12:30:51.912+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-14T12:30:51.016+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", + "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 index c1935a64a..101945bf0 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop.imp @@ -3,9 +3,9 @@ class factorialLoop { factorialLoop(n) { if (n <= 1) return 1; - else if (n == 2) + else if (n <= 2) return 2; - else if (n == 3) + else if (n <= 3) return 6; else { def x = n - 1; 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..363ed016b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 30ms", + "end" : "2023-04-16T18:15:40.112+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-16T18:15:39.082+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", + "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 index 11068e9ec..a72213d6d 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json @@ -1,17 +1,17 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loop(tests__this,_untyped_n)_470030347.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "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" : "708ms", - "end" : "2023-03-26T23:14:48.120+02:00", - "expressions" : "34", - "files" : "5", + "duration" : "1s 855ms", + "end" : "2023-04-16T18:12:00.434+02:00", + "expressions" : "40", + "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-26T23:14:47.412+02:00", - "statements" : "10", + "start" : "2023-04-16T18:11:58.579+02:00", + "statements" : "14", "units" : "1", "version" : "0.1b7", "warnings" : "0" @@ -31,6 +31,6 @@ "serializeResults" : "true", "syntacticChecks" : "", "wideningThreshold" : "5", - "workdir" : "test-outputs/interprocedural/loop/kdepth" + "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/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json deleted file mode 100644 index 207c9c630..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json deleted file mode 100644 index c3ecaac46..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loop(tests__this,_untyped_n)_470030347.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24, 'imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json deleted file mode 100644 index 240e1ec3d..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux1(tests__this,_untyped_n)_-749568140.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json deleted file mode 100644 index 7f2cd737a..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.loopAux2(tests__this,_untyped_n)_-40366932.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21, 'imp-testcases/interprocedural/loop.imp':8:25, 'imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +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_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.main(tests__this,_untyped_a).json deleted file mode 100644 index 257346f4f..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/untyped_tests.main(tests__this,_untyped_a).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = loop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"loop(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":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +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 index e70042e69..2b3f72c12 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json @@ -1,17 +1,17 @@ { "warnings" : [ ], - "files" : [ "report.json", "untyped_tests.loop(tests__this,_untyped_n)_1721405270.json", "untyped_tests.loop(tests__this,_untyped_n)_1721406355.json", "untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json", "untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json", "untyped_tests.main(tests__this,_untyped_a).json" ], + "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" : "1s 343ms", - "end" : "2023-03-24T18:47:23.763+01:00", - "expressions" : "34", - "files" : "5", + "duration" : "1s 342ms", + "end" : "2023-04-16T18:13:37.288+02:00", + "expressions" : "40", + "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-03-24T18:47:22.420+01:00", - "statements" : "10", + "start" : "2023-04-16T18:13:35.946+02:00", + "statements" : "14", "units" : "1", "version" : "0.1b7", "warnings" : "0" @@ -31,6 +31,6 @@ "serializeResults" : "true", "syntacticChecks" : "", "wideningThreshold" : "5", - "workdir" : "test-outputs/interprocedural/loop/last" + "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/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json deleted file mode 100644 index 1250fc711..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721405270.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':19:20]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[-2, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 strcat n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':19:20]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':19:20]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:n":"[-3, +Inf]","['imp-testcases/interprocedural/loop.imp':19:20]:x":"[-2, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json deleted file mode 100644 index 207c9c630..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loop(tests__this,_untyped_n)_1721406355.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loop(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':23:21]","nodes":[{"id":0,"subNodes":[1,2],"text":"<(n, 0)"},{"id":1,"text":"n"},{"id":2,"text":"0"},{"id":3,"subNodes":[4],"text":"return 10"},{"id":4,"text":"10"},{"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 +(loopAux1(this, x), n)"},{"id":11,"subNodes":[12,15],"text":"+(loopAux1(this, x), n)"},{"id":12,"subNodes":[13,14],"text":"loopAux1(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 < 0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["0"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]","ret_value@loop":"[10, 10]"}}}},{"nodeId":4,"description":{"expressions":["10"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[-Inf, -1]"}}}},{"nodeId":5,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["n - 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["ret_value@loop"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","ret_value@loop":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","ret_value@loop":"[-Inf, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":11,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":12,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":13,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":14,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}},{"nodeId":15,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":["float32","int32"],"n":"#TOP#","this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':8:25":"[-Inf, +Inf]","n":"[0, +Inf]","x":"[-1, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json deleted file mode 100644 index 7f009ddc9..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux1(tests__this,_untyped_n)_1721409734.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux1(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':8:25]","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 +(loopAux2(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loopAux2(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loopAux2(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/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n - 2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux1":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","ret_value@loopAux1":"[-Inf, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':14:24":"[-Inf, +Inf]","n":"[-1, +Inf]","x":"[-3, +Inf]"}}}}]} \ No newline at end of file diff --git a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json deleted file mode 100644 index a7a3ae3af..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.loopAux2(tests__this,_untyped_n)_1721408959.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::loopAux2(tests* this, untyped n)","description":"['imp-testcases/interprocedural/loop.imp':14:24]","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 +(loop(this, x), n)"},{"id":6,"subNodes":[7,10],"text":"+(loop(this, x), n)"},{"id":7,"subNodes":[8,9],"text":"loop(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/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["n + 1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["1"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["ret_value@loopAux2"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"ret_value@loopAux2":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","ret_value@loopAux2":"[-Inf, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":6,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20 + n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":7,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":8,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":9,"description":{"expressions":["x"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","n":"[-3, +Inf]","x":"[-2, +Inf]"}}}},{"nodeId":10,"description":{"expressions":["n"],"state":{"heap":"monolith","type":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"#TOP#","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:n":["float32","int32"],"['imp-testcases/interprocedural/loop.imp':14:24]:this":["tests*"],"['imp-testcases/interprocedural/loop.imp':14:24]:x":["float32","int32"],"call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":["float32","int32"],"n":["float32","int32"],"this":["tests*"],"x":["float32","int32"]},"value":{"['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:['imp-testcases/interprocedural/loop.imp':23:21]:a":"[-Inf, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:n":"[0, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:['imp-testcases/interprocedural/loop.imp':8:25]:x":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:n":"[-1, +Inf]","['imp-testcases/interprocedural/loop.imp':14:24]:x":"[-3, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':19:20":"[-Inf, +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_tests.main(tests__this,_untyped_a).json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.main(tests__this,_untyped_a).json deleted file mode 100644 index 257346f4f..000000000 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/untyped_tests.main(tests__this,_untyped_a).json +++ /dev/null @@ -1 +0,0 @@ -{"name":"untyped tests::main(tests* this, untyped a)","description":null,"nodes":[{"id":0,"subNodes":[1,2],"text":"z = loop(this, a)"},{"id":1,"text":"z"},{"id":2,"subNodes":[3,4],"text":"loop(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":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +Inf]"}}}},{"nodeId":1,"description":{"expressions":["z"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":2,"description":{"expressions":["call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21"],"state":{"heap":"monolith","type":{"a":"#TOP#","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":["float32","int32"],"this":["tests*"]},"value":{"a":"[-Inf, +Inf]","call_ret_value@'imp-testcases/interprocedural/loop.imp':23:21":"[-Inf, +Inf]"}}}},{"nodeId":3,"description":{"expressions":["this"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":4,"description":{"expressions":["a"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"]},"value":{"a":"[-Inf, +Inf]"}}}},{"nodeId":5,"description":{"expressions":["skip"],"state":{"heap":"monolith","type":{"a":"#TOP#","this":["tests*"],"z":["float32","int32"]},"value":{"a":"[-Inf, +Inf]","z":"[-Inf, +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 index 65a3056de..fb696c7d6 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci.imp @@ -1,9 +1,7 @@ class fibonacci { fib(n) { - if (n == 0) - return 1; - else if (n == 1) + if (n <= 2) return 1; else { def x = n - 1; 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..fabbe7559 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n).json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "506ms", + "end" : "2023-04-14T17:13:07.377+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-14T17:13:06.871+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", + "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..bf8972a66 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "549ms", + "end" : "2023-04-14T17:09:38.468+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-14T17:09:37.919+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", + "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..30267ac5f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "508ms", + "end" : "2023-04-14T17:11:38.928+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-14T17:11:38.420+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", + "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/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json new file mode 100644 index 000000000..74a9a6d6b --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "warnings" : [ ], + "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], + "info" : { + "cfgs" : "2", + "duration" : "1s 248ms", + "end" : "2023-04-17T23:25:26.639+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-17T23:25:25.391+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", + "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..73a65d029 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "486ms", + "end" : "2023-04-17T23:23:51.796+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-17T23:23:51.310+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", + "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..c35e77c03 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "526ms", + "end" : "2023-04-17T23:24:41.619+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-17T23:24:41.093+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", + "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/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json new file mode 100644 index 000000000..689a5710d --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 362ms", + "end" : "2023-04-17T23:27:52.443+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:27:51.081+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", + "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..f2a726451 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 107ms", + "end" : "2023-04-17T23:26:19.734+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:26:18.627+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", + "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..2cec27ee7 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 122ms", + "end" : "2023-04-17T23:27:33.723+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:27:32.601+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", + "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/twoRecursions.imp b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp index 4cbca77fa..6a076b6a8 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions.imp @@ -12,12 +12,12 @@ class tests { } } - aux1(n,b) { - return rec(x,b) + n; + aux1(x,b,n) { + return this.rec(x,b) - n; } - aux2(n,b) { - return rec(x,b) + n + 1; + aux2(x,b,n) { + return this.rec(x,b) - n - 1; } main(a,b) { 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..876b825cf --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 203ms", + "end" : "2023-04-17T23:13:06.343+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:13:05.140+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", + "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..3e733142a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 416ms", + "end" : "2023-04-17T23:11:35.920+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:11:34.504+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", + "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..b6f7800e0 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 94ms", + "end" : "2023-04-17T23:11:52.134+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-17T23:11:51.040+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", + "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/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/ModularWorstCaseAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/ModularWorstCaseAnalysis.java index 46ccdd781..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 @@ -145,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/context/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java index 07de6dda3..b3c47ec94 100644 --- 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 @@ -18,15 +18,21 @@ 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; @@ -38,8 +44,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; -import java.util.IdentityHashMap; -import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.TreeSet; import java.util.stream.Collectors; @@ -73,17 +78,10 @@ public class ContextBasedAnalysis, private final Collection triggers; /** - * The recursions that have been found during the current iteration, and - * that must be solved before beginning the next one. + * Whether or not a new recursion has been discovered in the latest fixpoint + * iteration. */ - private final Set> recursions; - - /** - * The entry state (pre-states and parameters states) of each call that has - * yet to return. This is needed for retrieving the entry state at the start - * of a recursion when one is found. - */ - private final Map>> ongoingCalls; + private boolean pendingRecursions; /** * The results computed by this analysis. @@ -121,19 +119,31 @@ public ContextBasedAnalysis() { public ContextBasedAnalysis(ContextSensitivityToken token) { this.token = token; triggers = new HashSet<>(); - recursions = new HashSet<>(); - ongoingCalls = new IdentityHashMap<>(); } protected ContextBasedAnalysis(ContextBasedAnalysis other) { super(other); this.conf = other.conf; - this.ongoingCalls = other.ongoingCalls; - this.recursions = other.recursions; 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 @@ -164,6 +174,8 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx 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) { @@ -174,6 +186,7 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx 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)); @@ -183,39 +196,61 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx throw new AnalysisExecutionException("Error while computing fixpoint for entrypoint " + cfg, e); } - if (!recursions.isEmpty()) { - Set> compacted = new HashSet<>(); - - for (Recursion recursion : recursions) { - Set> eqclass = new HashSet<>(); - eqclass.add(recursion); - for (Recursion rec2 : recursions) - if (!recursion.equals(rec2) && recursion.canBeMergedWith(rec2)) - eqclass.add(rec2); - recursions.removeAll(eqclass); - if (eqclass.size() == 1) - compacted.add(eqclass.iterator().next()); - else { - Recursion compact = null; - for (Recursion rr : eqclass) - if (compact == null) - compact = rr; + 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 - compact = compact.merge(rr); - compacted.add(compact); + 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, + head, + rec, + entry.getLeft(), + entry.getRight()); + recursions.add(recursion); + } } } try { - for (Recursion rec : compacted) { + for (Recursion rec : recursions) { new RecursionSolver<>(this, rec).solve(); triggers.addAll(rec.getInvolvedCFGs()); } } catch (SemanticException e) { throw new AnalysisExecutionException("Unable to solve one or more recursions", e); } - - recursions.clear(); } // starting from the callers of the cfgs that needed a lub, @@ -273,61 +308,15 @@ protected boolean canShortcut(CFG cfg) { return true; } + protected boolean shouldCheckForRecursions() { + return true; + } + @Override public FixpointResults getFixpointResults() { return results; } - private void computeRecursionsEndingWith( - CFGCall call, - AnalysisState entryState, - ContextSensitivityToken token) - throws SemanticException { - for (Collection rec : callgraph.getRecursionsContaining(call.getCFG())) { - Collection remaining = new HashSet<>(rec); - - // we begin from the tail of the recursion - CFG iterator = call.getCFG(); - remaining.remove(iterator); - - // we follow callsites back to where the recursion begins - while (!remaining.isEmpty()) { - Set sites = callgraph.getCallSites(iterator).stream() - .filter(site -> remaining.contains(site.getCFG())) - .collect(Collectors.toSet()); - - if (sites.isEmpty()) - throw new SemanticException("Recursion with no valid entry point found"); - else { - iterator = sites.iterator().next().getCFG(); - for (Call site : sites) - if (!site.getCFG().equals(iterator)) - throw new SemanticException("Recursion with non-linear path found"); - - remaining.remove(iterator); - } - } - - // iterator will now contain the entry node of the recursion - Collection callsites = callgraph.getCallSites(iterator); - Set sites = callsites.stream() - .filter(site -> !rec.contains(site.getCFG())) - .filter(ongoingCalls::containsKey) - .collect(Collectors.toSet()); - for (Call site : sites) { - Recursion recursion = new Recursion<>( - site, - (CFG) iterator, - Map.of(call, token), - rec, - ongoingCalls.get(site).getLeft(), - ongoingCalls.get(site).getRight()); - if (recursions.add(recursion)) - LOG.info("Found recursion at " + site.getLocation()); - } - } - } - protected Pair, ExpressionSet[]> prepareEntryState( CFGCall call, AnalysisState entryState, @@ -366,16 +355,14 @@ public AnalysisState getAbstractResultOf( StatementStore expressions) throws SemanticException { callgraph.registerCall(call); - ContextSensitivityToken callerToken = token; - token = token.push(call); - if (call.getTargetedCFGs().stream().anyMatch(call.getCFG()::equals) - || callgraph.getCalleesTransitively(call.getTargets()).contains(call.getCFG())) { + 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 - computeRecursionsEndingWith(call, entryState, token); - token = callerToken; + pendingRecursions = true; + LOG.info("Found recursion at " + call.getLocation()); // we return bottom for now if (returnsVoid(call, null)) @@ -387,8 +374,8 @@ public AnalysisState getAbstractResultOf( entryState.getAliasing().bottom()); } - Call callsite = call.getSource() == null ? call : call.getSource(); - ongoingCalls.put(callsite, Pair.of(token, CompoundState.of(entryState, expressions))); + ContextSensitivityToken callerToken = token; + token = token.push(call); ScopeToken scope = new ScopeToken(call); AnalysisState result = entryState.bottom(); @@ -427,7 +414,6 @@ public AnalysisState getAbstractResultOf( result = result.lub(unscope(call, scope, exitState)); } - ongoingCalls.remove(callsite); 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 index 19bdb6338..6aa54ee46 100644 --- 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 @@ -1,6 +1,5 @@ package it.unive.lisa.interprocedural.context; -import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; /** @@ -11,6 +10,8 @@ */ public class ContextInsensitiveToken implements ContextSensitivityToken { + private static final ContextInsensitiveToken SINGLETON = new ContextInsensitiveToken(); + private ContextInsensitiveToken() { super(); } @@ -26,7 +27,7 @@ public String toString() { * @return an instance of the class */ public static ContextInsensitiveToken getSingleton() { - return new ContextInsensitiveToken(); + return SINGLETON; } @Override @@ -43,8 +44,8 @@ public boolean equals(Object obj) { } @Override - public ScopeId startingId() { - return getSingleton(); + public ContextSensitivityToken startingId() { + return SINGLETON; } @Override 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 index 94a66b30e..490a218c5 100644 --- 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 @@ -10,7 +10,11 @@ */ public interface ContextSensitivityToken extends ScopeId { - // we redefine this just to give a more specific return type + // 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/KDepthToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/KDepthToken.java index e8697b5b5..c9fea238b 100644 --- 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 @@ -1,6 +1,5 @@ package it.unive.lisa.interprocedural.context; -import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; import java.util.ArrayList; @@ -94,7 +93,7 @@ public int hashCode() { } @Override - public ScopeId startingId() { + public ContextSensitivityToken startingId() { return getSingleton(k); } 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 index 87bf48023..7b398e517 100644 --- 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 @@ -1,7 +1,6 @@ package it.unive.lisa.interprocedural.context; import it.unive.lisa.analysis.ScopeToken; -import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; /** @@ -66,7 +65,7 @@ public int hashCode() { } @Override - public ScopeId startingId() { + public ContextSensitivityToken startingId() { return getSingleton(); } diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java index 5deaf796a..ec05494b6 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java @@ -1,6 +1,5 @@ package it.unive.lisa.interprocedural.context; -import it.unive.lisa.interprocedural.ScopeId; import it.unive.lisa.program.cfg.statement.call.CFGCall; import it.unive.lisa.util.collections.CollectionUtilities; import java.util.ArrayList; @@ -79,7 +78,7 @@ public boolean equals(Object obj) { } @Override - public ScopeId startingId() { + public ContextSensitivityToken startingId() { return getSingleton(); } 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 index b9edcd304..1bb4ac82d 100644 --- 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 @@ -1,10 +1,5 @@ package it.unive.lisa.interprocedural.context.recursion; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.value.TypeDomain; @@ -13,8 +8,8 @@ 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.CFGCall; import it.unive.lisa.program.cfg.statement.call.Call; +import java.util.Collection; public class Recursion, H extends HeapDomain, @@ -25,26 +20,22 @@ public class Recursion, private final CFG head; - private final Map backCalls; - private final Collection nodes; - private final ContextSensitivityToken token; + private final ContextSensitivityToken invocationToken; private final CompoundState entryState; public Recursion( Call start, CFG head, - Map backCalls, Collection nodes, - ContextSensitivityToken token, + ContextSensitivityToken invocationToken, CompoundState entryState) { this.start = start; this.head = head; - this.backCalls = backCalls; this.nodes = nodes; - this.token = token; + this.invocationToken = invocationToken; this.entryState = entryState; } @@ -52,12 +43,11 @@ public Recursion( public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((backCalls == null) ? 0 : backCalls.hashCode()); result = prime * result + ((entryState == null) ? 0 : entryState.hashCode()); result = prime * result + ((head == null) ? 0 : head.hashCode()); result = prime * result + ((nodes == null) ? 0 : nodes.hashCode()); result = prime * result + ((start == null) ? 0 : start.hashCode()); - result = prime * result + ((token == null) ? 0 : token.hashCode()); + result = prime * result + ((invocationToken == null) ? 0 : invocationToken.hashCode()); return result; } @@ -70,10 +60,10 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) return false; Recursion other = (Recursion) obj; - if (token == null) { - if (other.token != null) + if (invocationToken == null) { + if (other.invocationToken != null) return false; - } else if (!token.equals(other.token)) + } else if (!invocationToken.equals(other.invocationToken)) return false; if (head == null) { if (other.head != null) @@ -95,11 +85,6 @@ public boolean equals(Object obj) { return false; } else if (!entryState.equals(other.entryState)) return false; - if (backCalls == null) { - if (other.backCalls != null) - return false; - } else if (!backCalls.equals(other.backCalls)) - return false; return true; } @@ -111,12 +96,8 @@ public CFG getHead() { return head; } - public Map getBackCalls() { - return backCalls; - } - - public ContextSensitivityToken getToken() { - return token; + public ContextSensitivityToken getInvocationToken() { + return invocationToken; } public CompoundState getEntryState() { @@ -126,36 +107,4 @@ public CompoundState getEntryState() { public Collection getInvolvedCFGs() { return nodes; } - - public boolean canBeMergedWith(Recursion other) { - if (head == null) { - if (other.head != null) - return false; - } else if (!head.equals(other.head)) - return false; - if (start == null) { - if (other.start != null) - return false; - } else if (!start.equals(other.start)) - return false; - if (token == null) { - if (other.token != null) - return false; - } else if (!token.equals(other.token)) - return false; - if (entryState == null) { - if (other.entryState != null) - return false; - } else if (!entryState.equals(other.entryState)) - return false; - return true; - } - - public Recursion merge(Recursion other) { - Collection mergedNodes = new HashSet<>(nodes); - Map mergedBackCalls = new HashMap<>(backCalls); - mergedNodes.addAll(other.nodes); - mergedBackCalls.putAll(other.backCalls); - return new Recursion<>(start, head, mergedBackCalls, mergedNodes, token, entryState); - } } 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 index 10a11ccb7..393fa47d5 100644 --- 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 @@ -1,18 +1,8 @@ package it.unive.lisa.interprocedural.context.recursion; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.lang3.tuple.Triple; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - 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.OptimizedAnalyzedCFG; import it.unive.lisa.analysis.SemanticException; import it.unive.lisa.analysis.StatementStore; import it.unive.lisa.analysis.heap.HeapDomain; @@ -37,6 +27,13 @@ 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.HashSet; +import java.util.Map; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class RecursionSolver, H extends HeapDomain, @@ -48,19 +45,24 @@ public class RecursionSolver, private final Recursion recursion; + private final boolean returnsVoid; + + private final Map, ContextSensitivityToken>> finalEntryStates; + private GenericMapLattice> previousApprox; private GenericMapLattice> recursiveApprox; - private final Map, - ExpressionSet[], - StatementStore>> finalEntryStates; + private ContextSensitivityToken headToken; 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.getStart(), null); } @Override @@ -92,11 +94,31 @@ public AnalysisState getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - AnalysisState approx = recursiveApprox.getMap().get(call); - if (approx != null) { - finalEntryStates.put(call, Triple.of(entryState, parameters, expressions)); - // we bring in the entry state to carry over the correct scope - return approx.lub(entryState); + boolean inRecursion = recursion.getInvolvedCFGs().contains(call.getCFG()); + if (headToken == null && inRecursion) + // this is the first time we handle a call from within the recursion + headToken = token; + + if (inRecursion && call.getTargetedCFGs().contains(recursion.getHead())) { + // 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 at bottom + if (returnsVoid) + return entryState.bottom(); + else + return new AnalysisState<>( + entryState.getState().bottom(), + call.getMetaVariable(), + entryState.getAliasing().bottom()); + else + // we already have a state to use + // we bring in the entry state to carry over the correct scope + return approx.lub(entryState); } return super.getAbstractResultOf(call, entryState, parameters, expressions); } @@ -107,28 +129,21 @@ protected boolean canShortcut(CFG cfg) { return !recursion.getInvolvedCFGs().contains(cfg); } + @Override + protected boolean shouldCheckForRecursions() { + return false; + } + public void solve() throws SemanticException { int recursionCount = 0; Call start = recursion.getStart(); - Map ends = recursion.getBackCalls(); + Collection ends = finalEntryStates.keySet(); CompoundState entryState = recursion.getEntryState(); - LOG.info("Solving recursion at " + start.getLocation()); + LOG.info("Solving recursion at " + start.getLocation() + " for context " + recursion.getInvocationToken()); recursiveApprox = new GenericMapLattice<>(entryState.postState.bottom()); - // the return value of each back call must be the same as the one - // starting the recursion, as they invoke the same cfg - boolean returnsVoid = returnsVoid(start, null); - for (CFGCall end : ends.keySet()) - if (returnsVoid) - recursiveApprox = recursiveApprox.putState(end, entryState.postState.bottom()); - else - recursiveApprox = recursiveApprox.putState(end, new AnalysisState<>( - entryState.postState.getState().bottom(), - end.getMetaVariable(), - entryState.postState.getAliasing().bottom())); - - previousApprox = recursiveApprox; + recursiveApprox = recursiveApprox.bottom(); do { LOG.debug(StringUtilities.ordinal(recursionCount + 1) @@ -136,8 +151,13 @@ public void solve() throws SemanticException { + start.getLocation()); previousApprox = recursiveApprox; + + // we reset the analysis at the point where the starting call can be + // evaluated + token = recursion.getInvocationToken(); AnalysisState post = start.semantics(entryState.postState, this, entryState.intermediateStates); - for (CFGCall end : ends.keySet()) { + + for (CFGCall end : ends) { AnalysisState res = post.bottom(); Identifier meta = end.getMetaVariable(); if (returnsVoid) @@ -164,22 +184,54 @@ else if (recursionCount == conf.wideningThreshold) } } while (!recursiveApprox.lessOrEqual(previousApprox)); - // at this point, the fixpoint results are just missing an entry for the - // recursive target of the ending calls - for (Entry end : ends.entrySet()) { - AnalyzedCFG recHead = results.get(recursion.getHead()).get(recursion.getToken()); - CFGCall call = end.getKey(); - Triple, - ExpressionSet[], - StatementStore> triple = finalEntryStates.get(call); - Pair, ExpressionSet[]> entry = prepareEntryState( - end.getKey(), - triple.getLeft(), - triple.getMiddle(), - triple.getRight(), - new ScopeToken(call), - recHead); - results.putResult(recursion.getHead(), end.getValue(), recHead.withModifiedEntryState(entry.getLeft())); - } + 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 take the value returned to the start of the recursion + AnalysisState exit = results.get(recursion.getHead()) + .get(headToken) + .getExitState(); + + // from that, we only keep the value being returned + AnalysisState polished = exit.forgetIdentifiersIf( + i -> !exit.getComputedExpressions().contains(i)); + + // we add the value to the entry state + AnalysisState returned = callEntry.lub(polished); + + // we assign the value to the call's meta variable, and we + // then forget about it + AnalysisState post = returned.bottom(); + Identifier meta = call.getMetaVariable(); + Collection toRemove = new HashSet<>(); + for (SymbolicExpression r : returned.getComputedExpressions()) { + post = post.lub(returned.assign(meta, r, call)); + if (r instanceof Identifier) + toRemove.add((Identifier) r); + } + post = post.forgetIdentifiers(toRemove); + + // finally, we store it in the result + caller.storePostStateOf(source, post); + } + } } } 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/cron/interprocedural/RecursionsTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java index 811299af7..23ce21f5c 100644 --- 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 @@ -14,8 +14,11 @@ import it.unive.lisa.interprocedural.context.ContextInsensitiveToken; 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 @@ -31,11 +34,11 @@ public void testFibonacciKDepth() throws AnalysisSetupException { conf.testDir = "interprocedural"; conf.testSubDir = "fibonacci/kdepth"; conf.programFile = "fibonacci.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression -// conf.compareWithOptimization = false; + // 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); } @@ -52,11 +55,11 @@ public void testFibonacciLast() throws AnalysisSetupException { conf.testDir = "interprocedural"; conf.testSubDir = "fibonacci/last"; conf.programFile = "fibonacci.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression -// conf.compareWithOptimization = false; + // 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); } @@ -73,11 +76,11 @@ public void testFibonacciInsensitive() throws AnalysisSetupException { conf.testDir = "interprocedural"; conf.testSubDir = "fibonacci/insensitive"; conf.programFile = "fibonacci.imp"; - // during the first evaluation of the recursive chain, having a bottom - // value means that + can also be rewritten as strcat. This does not - // happen when the full chain is computed (when unwinding the results) - // and will thus cause a diff in results due to the missing expression -// conf.compareWithOptimization = false; + // 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); } @@ -142,6 +145,7 @@ public void testInfiniteRecursion2KDepth() throws AnalysisSetupException { 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); } @@ -158,6 +162,7 @@ public void testInfiniteRecursion2Last() throws AnalysisSetupException { 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); } @@ -174,6 +179,7 @@ public void testInfiniteRecursion2Insensitive() throws AnalysisSetupException { 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); } @@ -190,6 +196,7 @@ public void testInfiniteRecursion1KDepth() throws AnalysisSetupException { 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); } @@ -206,6 +213,7 @@ public void testInfiniteRecursion1Last() throws AnalysisSetupException { 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); } @@ -222,6 +230,7 @@ public void testInfiniteRecursion1Insensitive() throws AnalysisSetupException { 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); } @@ -332,8 +341,8 @@ public void testTwoRecursionsKDepth() throws AnalysisSetupException { conf.interproceduralAnalysis = new ContextBasedAnalysis<>(KDepthToken.getSingleton(5)); conf.callGraph = new RTACallGraph(); conf.testDir = "interprocedural"; - conf.testSubDir = "factorial/kdepth"; - conf.programFile = "factorial.imp"; + conf.testSubDir = "twoRecursions/kdepth"; + conf.programFile = "twoRecursions.imp"; perform(conf); } 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-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java index c89a0f98b..1197de1c4 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/AnalyzedCFG.java @@ -1,10 +1,5 @@ package it.unive.lisa.analysis; -import java.util.Collection; -import java.util.Collections; -import java.util.Map; -import java.util.Map.Entry; - import it.unive.lisa.analysis.heap.HeapDomain; import it.unive.lisa.analysis.value.TypeDomain; import it.unive.lisa.analysis.value.ValueDomain; @@ -13,6 +8,9 @@ import it.unive.lisa.program.cfg.edge.Edge; import it.unive.lisa.program.cfg.statement.Expression; import it.unive.lisa.program.cfg.statement.Statement; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; /** * A control flow graph, that has {@link Statement}s as nodes and {@link Edge}s @@ -342,25 +340,4 @@ public boolean equals(Object obj) { return false; return true; } - - public AnalyzedCFG withModifiedEntryState(AnalysisState entry) throws SemanticException { - StatementStore newEntries = new StatementStore<>(entry.top()); - StatementStore newResults = new StatementStore<>(entry.top()); - - // out of scope identifiers are relative to the entry state - // we forget them all and replace them with the ones in entry - // TODO this is a best effort: we might have an identifier scoped by - // a call and then by another scoper. This will stay in the states - // of this graph and will cause some confusion - for (Entry> entryState : entryStates) - newEntries.put(entryState.getKey(), entryState.getValue() - .forgetIdentifiersIf(i -> i.isScopedByCall()) - .lub(entry)); - for (Entry> result : results) - newResults.put(result.getKey(), result.getValue() - .forgetIdentifiersIf(i -> i.isScopedByCall()) - .lub(entry)); - - return new AnalyzedCFG<>(this, id, newEntries, newResults); - } } 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 a09105858..2cfd4d720 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 @@ -231,6 +231,14 @@ public void unwind() { }); } + public boolean hasPostStateOf(Statement st) { + return results.getKeys().contains(st); + } + + public void storePostStateOf(Statement st, AnalysisState postState) { + results.put(st, postState); + } + private class PrecomputedAnalysis implements InterproceduralAnalysis { @Override @@ -238,6 +246,7 @@ public void init(Application app, CallGraph callgraph, OpenCallPolicy policy) throws InterproceduralAnalysisException { + throw new UnsupportedOperationException(); } @Override @@ -260,6 +269,10 @@ 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(call); @@ -363,25 +376,4 @@ public OptimizedAnalyzedCFG top() { public OptimizedAnalyzedCFG bottom() { return new OptimizedAnalyzedCFG<>(this, id.startingId(), entryStates.bottom(), results.bottom(), null, null); } - - @Override - public AnalyzedCFG withModifiedEntryState(AnalysisState entry) throws SemanticException { - AnalyzedCFG sup = super.withModifiedEntryState(entry); - StatementStore newExpanded = null; - - if (expanded != null) { - // out of scope identifiers are relative to the entry state - // we forget them all and replace them with the ones in entry - // TODO this is a best effort: we might have an identifier scoped by - // a call and then by another scoper. This will stay in the states - // of this graph and will cause some confusion - newExpanded = new StatementStore<>(entry.top()); - for (Entry> result : expanded) - newExpanded.put(result.getKey(), result.getValue() - .forgetIdentifiersIf(i -> i.isScopedByCall()) - .lub(entry)); - } - - return new OptimizedAnalyzedCFG<>(this, id, sup.entryStates, sup.results, newExpanded, interprocedural); - } } 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 cbd60c837..0a1ed9a1d 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 @@ -56,7 +56,10 @@ public interface InterproceduralAnalysis< 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 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 c1e8ec55a..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,8 +26,6 @@ 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 it.unive.lisa.util.datastructures.graph.algorithms.SCCs; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -37,7 +35,6 @@ 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; @@ -53,9 +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); @@ -67,7 +62,10 @@ public abstract class BaseCallGraph @Override public void init(Application app) throws CallGraphConstructionException { + super.init(app); this.app = app; + this.callsites.clear(); + this.resolvedCache.clear(); } @Override @@ -469,47 +467,8 @@ 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()); } - - @Override - public Collection> getRecursions() { - Collection> sccs = new SCCs< - BaseCallGraph, - CallGraphNode, - CallGraphEdge>().build(this); - return sccs.stream() - .map(nodes -> nodes.stream() - .map(node -> node.getCodeMember()) - .collect(Collectors.toSet())) - .collect(Collectors.toSet()); - } - - @Override - public Collection> getRecursionsContaining(CodeMember cm) { - Collection> sccs = new SCCs< - BaseCallGraph, - CallGraphNode, - CallGraphEdge>().build(this); - return sccs.stream() - .map(nodes -> nodes.stream() - .map(node -> node.getCodeMember()) - .collect(Collectors.toSet())) - .filter(members -> members.contains(cm)) - .collect(Collectors.toSet()); - } } \ No newline at end of file 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 57c1be46b..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 @@ -9,9 +9,12 @@ 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 @@ -19,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 @@ -44,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; /** @@ -52,18 +60,33 @@ 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 - * collection might contain partial results if this call graph is not fully - * built. + * 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 callers code members + * @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 */ - Collection getCallers(CodeMember cm); + 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 @@ -74,7 +97,7 @@ Call resolve(UnresolvedCall call, Set[] types, SymbolAliasing aliasing) * * @return the collection of callers code members */ - default Collection getCallers(Collection cms) { + public Collection getCallers(Collection cms) { Set result = new HashSet<>(); cms.forEach(cm -> getCallers(cm).stream().forEach(result::add)); return result; @@ -89,7 +112,7 @@ default Collection getCallers(Collection cms) { * * @return the collection of callers code members computed transitively */ - default Collection getCallersTransitively(CodeMember cm) { + public Collection getCallersTransitively(CodeMember cm) { VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); getCallers(cm).stream().forEach(ws::push); while (!ws.isEmpty()) @@ -106,7 +129,7 @@ default Collection getCallersTransitively(CodeMember cm) { * * @return the collection of callers code members computed transitively */ - default Collection getCallersTransitively(Collection cms) { + public Collection getCallersTransitively(Collection cms) { VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); cms.forEach(cm -> getCallers(cm).stream().forEach(ws::push)); while (!ws.isEmpty()) @@ -114,17 +137,6 @@ default Collection getCallersTransitively(Collection cms return ws.getSeen(); } - /** - * Yields all the {@link CodeMember}s that are called by 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 called code members - */ - Collection getCallees(CodeMember cm); - /** * 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 @@ -134,7 +146,7 @@ default Collection getCallersTransitively(Collection cms * * @return the collection of callees code members */ - default Collection getCallees(Collection cms) { + public Collection getCallees(Collection cms) { Set result = new HashSet<>(); cms.forEach(cm -> getCallees(cm).stream().forEach(result::add)); return result; @@ -149,7 +161,7 @@ default Collection getCallees(Collection cms) { * * @return the collection of callees code members computed transitively */ - default Collection getCalleesTransitively(CodeMember cm) { + public Collection getCalleesTransitively(CodeMember cm) { VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); getCallees(cm).stream().forEach(ws::push); while (!ws.isEmpty()) @@ -166,7 +178,7 @@ default Collection getCalleesTransitively(CodeMember cm) { * * @return the collection of callees code members computed transitively */ - default Collection getCalleesTransitively(Collection cms) { + public Collection getCalleesTransitively(Collection cms) { VisitOnceWorkingSet ws = VisitOnceFIFOWorkingSet.mk(); cms.forEach(cm -> getCallees(cm).stream().forEach(ws::push)); while (!ws.isEmpty()) @@ -175,15 +187,34 @@ default Collection getCalleesTransitively(Collection cms } /** - * 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 are called by 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 called code members + */ + public Collection getCallees(CodeMember cm) { + return followersOf(new CallGraphNode(this, cm)).stream() + .map(CallGraphNode::getCodeMember) + .collect(Collectors.toList()); + } + + /** + * 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 callers code members */ - Collection getCallSites(CodeMember cm); + 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 @@ -191,7 +222,17 @@ default Collection getCalleesTransitively(Collection cms * * @return the recursions */ - Collection> getRecursions(); + 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 @@ -202,5 +243,16 @@ default Collection getCalleesTransitively(Collection cms * * @return the recursions */ - Collection> getRecursionsContaining(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/statement/call/CFGCall.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/call/CFGCall.java index f21e0903e..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 @@ -1,10 +1,5 @@ package it.unive.lisa.program.cfg.statement.call; -import java.util.Collection; -import java.util.Iterator; -import java.util.Objects; -import java.util.stream.Collectors; - import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalysisState; import it.unive.lisa.analysis.SemanticException; @@ -26,6 +21,10 @@ import it.unive.lisa.symbolic.value.Variable; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; +import java.util.Collection; +import java.util.Iterator; +import java.util.Objects; +import java.util.stream.Collectors; /** * A call to one or more of the CFGs under analysis. 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 773bd9f9c..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 @@ -1,8 +1,5 @@ package it.unive.lisa.program.cfg.statement.call; -import java.util.Collection; -import java.util.Collections; - import it.unive.lisa.analysis.AbstractState; import it.unive.lisa.analysis.AnalysisState; import it.unive.lisa.analysis.SemanticException; @@ -23,6 +20,8 @@ import it.unive.lisa.symbolic.value.Variable; import it.unive.lisa.type.Type; import it.unive.lisa.type.Untyped; +import java.util.Collection; +import java.util.Collections; /** * A call to a CFG that is not under analysis. 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 ddf803ebb..c934e005e 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 @@ -72,7 +72,7 @@ public boolean isWeak() { public boolean isScopedByCall() { return false; } - + @Override public int hashCode() { final int prime = 31; 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..e6ef29850 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,8 @@ public String toString() { return "ins: " + ingoing + ", outs: " + outgoing; } } + + public void clear() { + matrix.clear(); + } } 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 index ffd0dc5d0..1d5d1de24 100644 --- 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 @@ -45,7 +45,9 @@ public SCCs() { /** * Yields the last computed strongly connected components through - * {@link #build(Graph)}. + * {@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 */ @@ -56,6 +58,32 @@ public Collection> getSCCs() { /** * 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 * 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..b05e13338 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,21 @@ 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.compareTo(high) <= 0) { + this.low = low; + this.high = high; + } else { + this.low = high; + this.high = low; + } } /** @@ -278,9 +280,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/checks/semantic/CheckToolWithAnalysisResultsTest.java b/lisa/lisa-sdk/src/test/java/it/unive/lisa/checks/semantic/CheckToolWithAnalysisResultsTest.java index f6ae9cd80..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 From 79c39aaa43411a2becb824cf42d26a6e480707a6 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Mon, 17 Apr 2023 23:33:39 +0200 Subject: [PATCH 27/33] Renaming RecursionFreeToken to FullStackToken #254 --- .../context/ContextBasedAnalysis.java | 2 +- ...sionFreeToken.java => FullStackToken.java} | 21 ++++++++++--------- .../ContextSensitiveAnalysisTest.java | 4 ++-- .../nonInterference/NonInterferenceTest.java | 4 ++-- .../cron/visualization/VisualizationTest.java | 4 ++-- 5 files changed, 18 insertions(+), 17 deletions(-) rename lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/{RecursionFreeToken.java => FullStackToken.java} (74%) 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 index b3c47ec94..eef67223e 100644 --- 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 @@ -61,7 +61,7 @@ * @param the value domain * @param the type domain */ -@DefaultParameters({ RecursionFreeToken.class }) +@DefaultParameters({ FullStackToken.class }) public class ContextBasedAnalysis, H extends HeapDomain, V extends ValueDomain, diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java similarity index 74% rename from lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java rename to lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java index ec05494b6..b9b5e689b 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/RecursionFreeToken.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/FullStackToken.java @@ -7,21 +7,22 @@ import java.util.List; /** - * A context sensitive token representing an entire call chain until a recursion - * is encountered. This corresponds to having an unlimited {@link KDepthToken}, - * that will thus not ensure termination on recursions. + * 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 RecursionFreeToken implements ContextSensitivityToken { +public class FullStackToken implements ContextSensitivityToken { - private static final RecursionFreeToken SINGLETON = new RecursionFreeToken(); + private static final FullStackToken SINGLETON = new FullStackToken(); private final List calls; - private RecursionFreeToken() { + private FullStackToken() { calls = Collections.emptyList(); } - private RecursionFreeToken(RecursionFreeToken source, CFGCall newToken) { + private FullStackToken(FullStackToken source, CFGCall newToken) { this.calls = new ArrayList<>(source.calls.size() + 1); source.calls.forEach(this.calls::add); this.calls.add(newToken); @@ -32,7 +33,7 @@ private RecursionFreeToken(RecursionFreeToken source, CFGCall newToken) { * * @return an empty token */ - public static RecursionFreeToken getSingleton() { + public static FullStackToken getSingleton() { return SINGLETON; } @@ -68,7 +69,7 @@ public boolean equals(Object obj) { return false; if (getClass() != obj.getClass()) return false; - RecursionFreeToken other = (RecursionFreeToken) obj; + FullStackToken other = (FullStackToken) obj; if (calls == null) { if (other.calls != null) return false; @@ -89,6 +90,6 @@ public boolean isStartingId() { @Override public ContextSensitivityToken push(CFGCall c) { - return new RecursionFreeToken(this, c); + return new FullStackToken(this, c); } } 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 eb68ce8a6..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 @@ -13,7 +13,7 @@ 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.RecursionFreeToken; +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"; 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 bd5517077..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 @@ -16,7 +16,7 @@ import it.unive.lisa.checks.semantic.SemanticCheck; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.context.RecursionFreeToken; +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/visualization/VisualizationTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/visualization/VisualizationTest.java index 4a7d3536a..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 @@ -13,7 +13,7 @@ import it.unive.lisa.conf.LiSAConfiguration.GraphType; import it.unive.lisa.interprocedural.callgraph.RTACallGraph; import it.unive.lisa.interprocedural.context.ContextBasedAnalysis; -import it.unive.lisa.interprocedural.context.RecursionFreeToken; +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; } From 1ba4ccb09b64c54735156e71334c7a82a6491f34 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Tue, 18 Apr 2023 00:07:22 +0200 Subject: [PATCH 28/33] Spotless and javadoc --- .../CallGraphBasedAnalysis.java | 10 +- .../context/ContextBasedAnalysis.java | 34 +++++- .../context/recursion/Recursion.java | 110 +++++++++++++----- .../context/recursion/RecursionSolver.java | 41 ++++++- .../EqualityContractVerificationTest.java | 8 +- .../lisa/analysis/OptimizedAnalyzedCFG.java | 15 +++ .../lattices/GenericInverseSetLattice.java | 30 +++++ .../analysis/lattices/GenericMapLattice.java | 25 +++- .../analysis/lattices/GenericSetLattice.java | 30 +++++ .../InterproceduralAnalysis.java | 2 + .../unive/lisa/symbolic/value/Identifier.java | 6 + .../it/unive/lisa/util/StringUtilities.java | 13 +++ .../datastructures/graph/AdjacencyMatrix.java | 3 + .../unive/lisa/util/numeric/IntInterval.java | 5 +- .../lisa/util/numeric/IntIntervalTest.java | 60 ++++++---- .../lisa/util/numeric/MathNumberTest.java | 47 +++----- 16 files changed, 343 insertions(+), 96 deletions(-) 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 0cf47afcd..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 @@ -52,9 +52,17 @@ public abstract class CallGraphBasedAnalysis */ protected OpenCallPolicy policy; - public CallGraphBasedAnalysis() { + /** + * 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; 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 index eef67223e..344ca2faf 100644 --- 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 @@ -54,7 +54,9 @@ /** * A context sensitive interprocedural analysis. The context sensitivity is - * tuned by the kind of {@link ContextSensitivityToken} used. + * 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 @@ -121,6 +123,11 @@ public ContextBasedAnalysis(ContextSensitivityToken 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; @@ -234,10 +241,10 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx for (Pair> entry : entries) { Recursion recursion = new Recursion<>( starter, - head, - rec, entry.getLeft(), - entry.getRight()); + entry.getRight(), + head, + rec); recursions.add(recursion); } } @@ -246,7 +253,7 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx try { for (Recursion rec : recursions) { new RecursionSolver<>(this, rec).solve(); - triggers.addAll(rec.getInvolvedCFGs()); + triggers.addAll(rec.getMembers()); } } catch (SemanticException e) { throw new AnalysisExecutionException("Unable to solve one or more recursions", e); @@ -304,10 +311,25 @@ private AnalyzedCFG computeFixpoint( return res.getRight(); } + /** + * 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; } @@ -317,7 +339,7 @@ public FixpointResults getFixpointResults() { return results; } - protected Pair, ExpressionSet[]> prepareEntryState( + private Pair, ExpressionSet[]> prepareEntryState( CFGCall call, AnalysisState entryState, ExpressionSet[] parameters, 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 index 1bb4ac82d..1ca4dea8e 100644 --- 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 @@ -11,7 +11,22 @@ import it.unive.lisa.program.cfg.statement.call.Call; import java.util.Collection; -public class Recursion, +/** + * 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> { @@ -20,21 +35,34 @@ public class Recursion, private final CFG head; - private final Collection nodes; + 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 start, - CFG head, - Collection nodes, + Call invocation, ContextSensitivityToken invocationToken, - CompoundState entryState) { - this.start = start; - this.head = head; - this.nodes = nodes; + CompoundState entryState, + CFG recursionHead, + Collection members) { + this.start = invocation; + this.head = recursionHead; + this.members = members; this.invocationToken = invocationToken; this.entryState = entryState; } @@ -45,9 +73,9 @@ public int hashCode() { int result = 1; result = prime * result + ((entryState == null) ? 0 : entryState.hashCode()); result = prime * result + ((head == null) ? 0 : head.hashCode()); - result = prime * result + ((nodes == null) ? 0 : nodes.hashCode()); - result = prime * result + ((start == null) ? 0 : start.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; } @@ -60,51 +88,81 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) return false; Recursion other = (Recursion) obj; - if (invocationToken == null) { - if (other.invocationToken != null) + if (entryState == null) { + if (other.entryState != null) return false; - } else if (!invocationToken.equals(other.invocationToken)) + } 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 (nodes == null) { - if (other.nodes != null) + 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 (!nodes.equals(other.nodes)) + } 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; - if (entryState == null) { - if (other.entryState != null) - return false; - } else if (!entryState.equals(other.entryState)) - return false; return true; } - public Call getStart() { + /** + * Yields the call that started this recursion by calling + * {@link #getRecursionHead()}. + * + * @return the call that invoked the recursion + */ + public Call getInvocation() { return start; } - public CFG getHead() { + /** + * 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; } - public Collection getInvolvedCFGs() { - return nodes; + /** + * Yields all the {@link CodeMember}s part of this recursion. + * + * @return the members + */ + public Collection getMembers() { + return members; } } 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 index 393fa47d5..23947d30c 100644 --- 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 @@ -35,6 +35,23 @@ 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, @@ -55,6 +72,13 @@ public class RecursionSolver, private ContextSensitivityToken headToken; + /** + * 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; @@ -62,7 +86,7 @@ public RecursionSolver(ContextBasedAnalysis backing, Recursion getAbstractResultOf( ExpressionSet[] parameters, StatementStore expressions) throws SemanticException { - boolean inRecursion = recursion.getInvolvedCFGs().contains(call.getCFG()); + boolean inRecursion = recursion.getMembers().contains(call.getCFG()); if (headToken == null && inRecursion) // this is the first time we handle a call from within the recursion headToken = token; - if (inRecursion && call.getTargetedCFGs().contains(recursion.getHead())) { + if (inRecursion && call.getTargetedCFGs().contains(recursion.getRecursionHead())) { // this is a back call finalEntryStates.put(call, Pair.of(entryState, token)); @@ -126,7 +150,7 @@ public AnalysisState getAbstractResultOf( @Override protected boolean canShortcut(CFG cfg) { // we want to compute the recursive chain with no shortcuts - return !recursion.getInvolvedCFGs().contains(cfg); + return !recursion.getMembers().contains(cfg); } @Override @@ -134,9 +158,14 @@ 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.getStart(); + Call start = recursion.getInvocation(); Collection ends = finalEntryStates.keySet(); CompoundState entryState = recursion.getEntryState(); @@ -206,7 +235,7 @@ else if (recursionCount == conf.wideningThreshold) // any additional work if (!caller.hasPostStateOf(source)) { // we take the value returned to the start of the recursion - AnalysisState exit = results.get(recursion.getHead()) + AnalysisState exit = results.get(recursion.getRecursionHead()) .get(headToken) .getExitState(); 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 e700abdc9..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 @@ -34,6 +34,7 @@ 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; @@ -199,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")) @@ -492,7 +497,8 @@ public void testInterproceduralObjects() { if (token == KDepthToken.class) // k is just a bound on the maximum length, it does not matter verify(token, verifier -> verifier.withIgnoredFields("k")); - else + else if (token != ContextInsensitiveToken.class) + // there always is a unique instance of ContextInsensitiveToken verify(token); } 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 2cfd4d720..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 @@ -231,10 +231,25 @@ 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); } 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 index 2dffda7c2..73a9b4eb7 100644 --- 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 @@ -3,20 +3,50 @@ 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); } 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 index 4c9530f2e..584601b58 100644 --- 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 @@ -3,14 +3,37 @@ 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); } - private GenericMapLattice(V lattice, Map function) { + /** + * 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); } 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 index a0a3c0767..e1421fd38 100644 --- 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 @@ -3,20 +3,50 @@ 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); } 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 0a1ed9a1d..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 @@ -40,6 +40,8 @@ /** * 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 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 c934e005e..bb6cf069a 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 @@ -69,6 +69,12 @@ public boolean isWeak() { return weak; } + /** + * Yields {@code true} if this is an {@link OutOfScopeIdentifier} whose + * outer-most scope was introduced by a call. + * + * @return {@code true} if that condition holds + */ public boolean isScopedByCall() { return false; } 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 index 5ce89a147..405fdf810 100644 --- 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 @@ -1,10 +1,23 @@ 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) 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 e6ef29850..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 @@ -507,6 +507,9 @@ public String toString() { } } + /** + * 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/numeric/IntInterval.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/util/numeric/IntInterval.java index b05e13338..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 @@ -71,7 +71,10 @@ public IntInterval(Integer low, Integer high) { * @param high the upper bound */ public IntInterval(MathNumber low, MathNumber high) { - if (low.compareTo(high) <= 0) { + 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 { 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)); From 734de1d3de3b804be3b4a9cde3d963e6e8d4cd02 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Tue, 18 Apr 2023 15:28:47 +0200 Subject: [PATCH 29/33] Tests for FullStackToken #254 --- .../factorial/full/report.json | 36 +++++ ...ctorial__this,_untyped_n)_-1504338471.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + .../factorialInterleaved/full/report.json | 36 +++++ ...nterleaved__this,_untyped_n)_94492061.json | 1 + ...rleaved__this,_untyped_x)_-1271226490.json | 1 + ...actorialInterleaved__this,_untyped_a).json | 1 + .../factorialLoop/full/report.json | 36 +++++ ...ialLoop__this,_untyped_n)_-1303134381.json | 1 + ...rialLoop__this,_untyped_n)_1249376116.json | 1 + ...ialLoop__this,_untyped_n)_-1227177876.json | 1 + ....main(factorialLoop__this,_untyped_a).json | 1 + .../fibonacci/full/report.json | 36 +++++ ...ibonacci__this,_untyped_n)_-718248077.json | 1 + ...acci.main(fibonacci__this,_untyped_a).json | 1 + .../infiniteRecursion1/full/report.json | 36 +++++ ...factorial__this,_untyped_n)_344402949.json | 1 + ...rial.main(factorial__this,_untyped_a).json | 1 + .../infiniteRecursion2/full/report.json | 36 +++++ ...Recursion__this,_untyped_n)_345334468.json | 1 + ...cursion__this,_untyped_n)_-1834196494.json | 1 + ...ecursion__this,_untyped_n)_-680179425.json | 1 + ...n(infiniteRecursion__this,_untyped_a).json | 1 + .../twoRecursions/full/report.json | 36 +++++ ..._x,_untyped_b,_untyped_n)_-1670307468.json | 1 + ..._x,_untyped_b,_untyped_n)_-1670307375.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...his,_untyped_n,_untyped_b)_-186414910.json | 1 + .../cron/interprocedural/RecursionsTest.java | 127 +++++++++++++++++- 29 files changed, 397 insertions(+), 3 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/untyped_factorial.main(factorial__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.factorial(factorialInterleaved__this,_untyped_n)_94492061.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.interleaved(factorialInterleaved__this,_untyped_x)_-1271226490.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/untyped_factorialInterleaved.main(factorialInterleaved__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoop(factorialLoop__this,_untyped_n)_-1303134381.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux1(factorialLoop__this,_untyped_n)_1249376116.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.factorialLoopAux2(factorialLoop__this,_untyped_n)_-1227177876.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/untyped_factorialLoop.main(factorialLoop__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/untyped_fibonacci.main(fibonacci__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/untyped_factorial.main(factorial__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursion(infiniteRecursion__this,_untyped_n)_345334468.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux1(infiniteRecursion__this,_untyped_n)_-1834196494.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.infiniteRecursionAux2(infiniteRecursion__this,_untyped_n)_-680179425.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/untyped_infiniteRecursion.main(infiniteRecursion__this,_untyped_a).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307468.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1670307375.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/untyped_tests.rec(tests__this,_untyped_n,_untyped_b)_-186414910.json 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..ff12ec567 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "1s 49ms", + "end" : "2023-04-18T15:22:38.852+02:00", + "expressions" : "16", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-18T15:22:37.803+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", + "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/factorialInterleaved/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json new file mode 100644 index 000000000..dfa1c51e3 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "133ms", + "end" : "2023-04-18T15:22:40.059+02:00", + "expressions" : "21", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-18T15:22:39.926+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", + "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/factorialLoop/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json new file mode 100644 index 000000000..a300aa9a9 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "213ms", + "end" : "2023-04-18T15:22:43.618+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-18T15:22:43.405+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", + "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/fibonacci/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json new file mode 100644 index 000000000..2fd5a6282 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "945ms", + "end" : "2023-04-18T14:38:39.501+02:00", + "expressions" : "22", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-18T14:38:38.556+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", + "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/infiniteRecursion1/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json new file mode 100644 index 000000000..0dc3f8b40 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "53ms", + "end" : "2023-04-18T15:22:46.181+02:00", + "expressions" : "13", + "files" : "2", + "globals" : "0", + "members" : "2", + "programs" : "1", + "start" : "2023-04-18T15:22:46.128+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", + "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/infiniteRecursion2/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json new file mode 100644 index 000000000..668abad7a --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "89ms", + "end" : "2023-04-18T15:22:47.054+02:00", + "expressions" : "25", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-18T15:22:46.965+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", + "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/twoRecursions/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json new file mode 100644 index 000000000..5ca3904cb --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "187ms", + "end" : "2023-04-18T15:22:48.557+02:00", + "expressions" : "40", + "files" : "4", + "globals" : "0", + "members" : "4", + "programs" : "1", + "start" : "2023-04-18T15:22:48.370+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", + "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/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java index 23ce21f5c..27d92cc1f 100644 --- 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 @@ -2,6 +2,10 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -12,15 +16,34 @@ 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(); @@ -84,6 +107,22 @@ public void testFibonacciInsensitive() throws AnalysisSetupException { 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(); @@ -132,6 +171,23 @@ public void testFactorialLoopInsensitive() throws AnalysisSetupException { 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(); @@ -183,6 +239,23 @@ public void testInfiniteRecursion2Insensitive() throws AnalysisSetupException { 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(); @@ -234,6 +307,22 @@ public void testInfiniteRecursion1Insensitive() throws AnalysisSetupException { 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(); @@ -282,6 +371,22 @@ public void testFactorialInsensitive() throws AnalysisSetupException { 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(); @@ -330,6 +435,22 @@ public void testFactorialInterleavedInsensitive() throws AnalysisSetupException 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(); From 3c196ea359267566e32545c7a65ae65706c376f7 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Wed, 19 Apr 2023 12:22:09 +0200 Subject: [PATCH 30/33] Testcase for nested recursions #254 --- .../interprocedural/nestedRecursions.imp | 35 +++++++++ .../nestedRecursions/full/report.json | 36 ++++++++++ ...d_x,_untyped_b,_untyped_n)_1643451971.json | 1 + ...d_x,_untyped_b,_untyped_n)_1643452064.json | 1 + ...this,_untyped_n,_untyped_b)_948286696.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...is,_untyped_n,_untyped_b)_-1983631984.json | 1 + .../nestedRecursions/insensitive/report.json | 36 ++++++++++ ...his,_untyped_x,_untyped_b,_untyped_n).json | 1 + ...his,_untyped_x,_untyped_b,_untyped_n).json | 1 + ...er(tests__this,_untyped_n,_untyped_b).json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...er(tests__this,_untyped_n,_untyped_b).json | 1 + .../nestedRecursions/kdepth/report.json | 36 ++++++++++ ...d_x,_untyped_b,_untyped_n)_1643451971.json | 1 + ...d_x,_untyped_b,_untyped_n)_1643452064.json | 1 + ...this,_untyped_n,_untyped_b)_948286696.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...is,_untyped_n,_untyped_b)_-1983631984.json | 1 + .../nestedRecursions/last/report.json | 36 ++++++++++ ..._x,_untyped_b,_untyped_n)_-1983631798.json | 1 + ..._x,_untyped_b,_untyped_n)_-1983631705.json | 1 + ...is,_untyped_n,_untyped_b)_-1983631209.json | 1 + ...in(tests__this,_untyped_a,_untyped_b).json | 1 + ...is,_untyped_n,_untyped_b)_-1983631984.json | 1 + .../context/ContextBasedAnalysis.java | 19 ++++- .../context/recursion/Recursion.java | 5 ++ .../context/recursion/RecursionSolver.java | 10 +-- .../cron/interprocedural/RecursionsTest.java | 71 +++++++++++++++++-- .../lisa/symbolic/SymbolicExpression.java | 13 ++-- .../lisa/symbolic/value/HeapLocation.java | 5 ++ .../unive/lisa/symbolic/value/Identifier.java | 19 ++++- .../lisa/symbolic/value/MemoryPointer.java | 5 ++ .../symbolic/value/OutOfScopeIdentifier.java | 7 +- .../unive/lisa/symbolic/value/Variable.java | 5 ++ 35 files changed, 342 insertions(+), 16 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.inner(tests__this,_untyped_n,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/untyped_tests.outer(tests__this,_untyped_n,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643451971.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_1643452064.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_948286696.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux1(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631798.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.aux2(tests__this,_untyped_x,_untyped_b,_untyped_n)_-1983631705.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.inner(tests__this,_untyped_n,_untyped_b)_-1983631209.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.main(tests__this,_untyped_a,_untyped_b).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/untyped_tests.outer(tests__this,_untyped_n,_untyped_b)_-1983631984.json 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..80a94147f --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "158ms", + "end" : "2023-04-19T12:14:17.119+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-19T12:14:16.961+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", + "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..88ab68229 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "105ms", + "end" : "2023-04-19T12:14:17.678+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-19T12:14:17.573+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", + "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..3a4e18c32 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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-19T12:14:18.060+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-19T12:14:17.961+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", + "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..67be1f4ac --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "84ms", + "end" : "2023-04-19T12:14:18.438+02:00", + "expressions" : "56", + "files" : "5", + "globals" : "0", + "members" : "5", + "programs" : "1", + "start" : "2023-04-19T12:14:18.354+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", + "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/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java index 344ca2faf..b5d2ec781 100644 --- 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 @@ -41,9 +41,11 @@ 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; @@ -250,8 +252,23 @@ private void fixpointAux(AnalysisState entryState) throws AnalysisEx } } + 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 : recursions) { + for (Recursion rec : orderedRecursions) { new RecursionSolver<>(this, rec).solve(); triggers.addAll(rec.getMembers()); } 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 index 1ca4dea8e..ccebf8d8a 100644 --- 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 @@ -165,4 +165,9 @@ public CompoundState getEntryState() { 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 index 23947d30c..cba3e1b14 100644 --- 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 @@ -196,10 +196,12 @@ public void solve() throws SemanticException { // we transfer the return value res = res.lub(post.assign(meta, variable, start)); - // we don't keep variables that are in scope here: - // those will not be in scope at the recursion closure - // except for the return value of the specific call - res = res.forgetIdentifiersIf(i -> !i.isScopedByCall() && !i.equals(meta)); + // 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)); recursiveApprox = recursiveApprox.putState(end, res); } 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 index 27d92cc1f..023f8f592 100644 --- 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 @@ -2,10 +2,6 @@ import static it.unive.lisa.LiSAFactory.getDefaultFor; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; - import it.unive.lisa.AnalysisSetupException; import it.unive.lisa.AnalysisTestExecutor; import it.unive.lisa.CronConfiguration; @@ -19,6 +15,9 @@ 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 { @@ -498,4 +497,68 @@ public void testTwoRecursionsInsensitive() throws AnalysisSetupException { 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); + } } 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 bb6cf069a..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; @@ -70,8 +71,10 @@ public boolean isWeak() { } /** - * Yields {@code true} if this is an {@link OutOfScopeIdentifier} whose - * outer-most scope was introduced by a call. + * 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 */ @@ -79,6 +82,18 @@ 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 6e4fd273d..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,6 +47,11 @@ 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, getCodeLocation()); 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 de470a8b3..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 @@ -36,6 +36,11 @@ public OutOfScopeIdentifier(Identifier id, ScopeToken scope, CodeLocation locati setRuntimeTypes(id.getRuntimeTypes(null)); } + @Override + public boolean canBeScoped() { + return true; + } + @Override public SymbolicExpression pushScope(ScopeToken token) { return new OutOfScopeIdentifier(this, token, getCodeLocation()); @@ -50,7 +55,7 @@ public Identifier popScope(ScopeToken token) throws SemanticException { @Override public boolean isScopedByCall() { - return scope.getScoper() instanceof Call; + return scope.getScoper() instanceof Call || (id instanceof OutOfScopeIdentifier && id.isScopedByCall()); } /** 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 b9b948806..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,6 +40,11 @@ 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, getCodeLocation()); From bf6c421863e72a1a922d3c1939c2e96b1685fbc2 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 20 Apr 2023 12:38:44 +0200 Subject: [PATCH 31/33] Test for recursions with unreachable base cases #254 --- .../interprocedural/unreachableBaseCase.imp | 22 +++ .../unreachableBaseCase/full/report.json | 36 +++++ ...it(tests__this,_untyped_x)_1748710429.json | 1 + ...ed_tests.main(tests__this,_untyped_x).json | 1 + ...rec(tests__this,_untyped_n)_124157764.json | 1 + .../insensitive/report.json | 36 +++++ ...ed_tests.init(tests__this,_untyped_x).json | 1 + ...ed_tests.main(tests__this,_untyped_x).json | 1 + ...ped_tests.rec(tests__this,_untyped_n).json | 1 + .../unreachableBaseCase/kdepth/report.json | 36 +++++ ...it(tests__this,_untyped_x)_1748710429.json | 1 + ...ed_tests.main(tests__this,_untyped_x).json | 1 + ...rec(tests__this,_untyped_n)_124157764.json | 1 + .../unreachableBaseCase/last/report.json | 36 +++++ ...it(tests__this,_untyped_x)_1748710429.json | 1 + ...ed_tests.main(tests__this,_untyped_x).json | 1 + ...ec(tests__this,_untyped_n)_1748709344.json | 1 + .../context/ContextBasedAnalysis.java | 22 ++- .../context/recursion/BaseCasesFinder.java | 152 ++++++++++++++++++ .../context/recursion/RecursionSolver.java | 115 ++++++------- .../cron/interprocedural/RecursionsTest.java | 64 ++++++++ 21 files changed, 464 insertions(+), 67 deletions(-) create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase.imp create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.init(tests__this,_untyped_x)_1748710429.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.main(tests__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/untyped_tests.rec(tests__this,_untyped_n)_124157764.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.init(tests__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.main(tests__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/untyped_tests.rec(tests__this,_untyped_n).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.init(tests__this,_untyped_x)_1748710429.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.main(tests__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/untyped_tests.rec(tests__this,_untyped_n)_124157764.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.init(tests__this,_untyped_x)_1748710429.json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.main(tests__this,_untyped_x).json create mode 100644 lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/untyped_tests.rec(tests__this,_untyped_n)_1748709344.json create mode 100644 lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/BaseCasesFinder.java 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..ae3703433 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json @@ -0,0 +1,36 @@ +{ + "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" : "586ms", + "end" : "2023-04-20T12:26:07.704+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:26:07.118+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", + "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..09b704024 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json @@ -0,0 +1,36 @@ +{ + "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" : "39ms", + "end" : "2023-04-20T12:29:31.308+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:29:31.269+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", + "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..44ad1aca5 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json @@ -0,0 +1,36 @@ +{ + "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" : "39ms", + "end" : "2023-04-20T12:29:31.506+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:29:31.467+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", + "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..e3ea66116 --- /dev/null +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json @@ -0,0 +1,36 @@ +{ + "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" : "52ms", + "end" : "2023-04-20T12:29:31.725+02:00", + "expressions" : "22", + "files" : "3", + "globals" : "0", + "members" : "3", + "programs" : "1", + "start" : "2023-04-20T12:29:31.673+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", + "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/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/ContextBasedAnalysis.java index b5d2ec781..2cc128072 100644 --- 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 @@ -322,10 +322,13 @@ private AnalyzedCFG computeFixpoint( WorkingSet.of(workingSet), conf, token); - Pair> res = results.putResult(cfg, token, fixpointResult); - if (Boolean.TRUE.equals(res.getLeft())) - triggers.add(cfg); - return res.getRight(); + if (shouldStoreFixpointResults()) { + Pair> res = results.putResult(cfg, token, fixpointResult); + if (shouldStoreFixpointResults() && Boolean.TRUE.equals(res.getLeft())) + triggers.add(cfg); + fixpointResult = res.getRight(); + } + return fixpointResult; } /** @@ -351,6 +354,17 @@ 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; 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..ec523b54b --- /dev/null +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/BaseCasesFinder.java @@ -0,0 +1,152 @@ +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 + */ + 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/RecursionSolver.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/interprocedural/context/recursion/RecursionSolver.java index cba3e1b14..d7693bb42 100644 --- 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 @@ -19,6 +19,7 @@ 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; @@ -29,7 +30,6 @@ import it.unive.lisa.util.datastructures.graph.algorithms.FixpointException; import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; @@ -66,11 +66,13 @@ public class RecursionSolver, private final Map, ContextSensitivityToken>> finalEntryStates; + private final BaseCasesFinder baseCases; + private GenericMapLattice> previousApprox; private GenericMapLattice> recursiveApprox; - private ContextSensitivityToken headToken; + private AnalysisState base; /** * Builds the solver. @@ -83,10 +85,10 @@ public RecursionSolver(ContextBasedAnalysis backing, Recursion(); - // 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 @@ -119,10 +121,6 @@ public AnalysisState getAbstractResultOf( StatementStore expressions) throws SemanticException { boolean inRecursion = recursion.getMembers().contains(call.getCFG()); - if (headToken == null && inRecursion) - // this is the first time we handle a call from within the recursion - headToken = token; - if (inRecursion && call.getTargetedCFGs().contains(recursion.getRecursionHead())) { // this is a back call finalEntryStates.put(call, Pair.of(entryState, token)); @@ -131,18 +129,10 @@ public AnalysisState getAbstractResultOf( if (recursiveApprox.getMap() != null) approx = recursiveApprox.getMap().get(call); if (approx == null) - // no state: we must start at bottom - if (returnsVoid) - return entryState.bottom(); - else - return new AnalysisState<>( - entryState.getState().bottom(), - call.getMetaVariable(), - entryState.getAliasing().bottom()); - else - // we already have a state to use - // we bring in the entry state to carry over the correct scope - return approx.lub(entryState); + // 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); } @@ -173,6 +163,13 @@ public void solve() throws SemanticException { 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) @@ -184,26 +181,14 @@ public void solve() throws SemanticException { // we reset the analysis at the point where the starting call can be // evaluated token = recursion.getInvocationToken(); - AnalysisState post = start.semantics(entryState.postState, this, entryState.intermediateStates); - - for (CFGCall end : ends) { - AnalysisState res = post.bottom(); - Identifier meta = end.getMetaVariable(); - if (returnsVoid) - res = post; - else - for (Identifier variable : start.getMetaVariables()) - // we transfer the return value - res = res.lub(post.assign(meta, variable, start)); - - // 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)); - recursiveApprox = recursiveApprox.putState(end, res); - } + AnalysisState post = start.expressionSemantics( + this, + entryState.postState, + params, + entryState.intermediateStates); + + for (CFGCall end : ends) + recursiveApprox = recursiveApprox.putState(end, transferToCallsite(start, end, post)); if (conf.wideningThreshold < 0) recursiveApprox = previousApprox.lub(recursiveApprox); @@ -236,33 +221,37 @@ else if (recursionCount == conf.wideningThreshold) // it might happen that the call is a hotspot and we don't need // any additional work if (!caller.hasPostStateOf(source)) { - // we take the value returned to the start of the recursion - AnalysisState exit = results.get(recursion.getRecursionHead()) - .get(headToken) - .getExitState(); - - // from that, we only keep the value being returned - AnalysisState polished = exit.forgetIdentifiersIf( - i -> !exit.getComputedExpressions().contains(i)); - - // we add the value to the entry state - AnalysisState returned = callEntry.lub(polished); - - // we assign the value to the call's meta variable, and we - // then forget about it - AnalysisState post = returned.bottom(); - Identifier meta = call.getMetaVariable(); - Collection toRemove = new HashSet<>(); - for (SymbolicExpression r : returned.getComputedExpressions()) { - post = post.lub(returned.assign(meta, r, call)); - if (r instanceof Identifier) - toRemove.add((Identifier) r); - } - post = post.forgetIdentifiers(toRemove); + // 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, post); + 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/cron/interprocedural/RecursionsTest.java b/lisa/lisa-analyses/src/test/java/it/unive/lisa/cron/interprocedural/RecursionsTest.java index 023f8f592..5a3f3f3dd 100644 --- 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 @@ -561,4 +561,68 @@ public void testNestedRecursionsInsensitive() throws AnalysisSetupException { 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); + } } From d446cd36a851b0fcb0721ad3ea14d4bda2ceaeb4 Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 20 Apr 2023 12:39:02 +0200 Subject: [PATCH 32/33] Separate option for widening on recursions #254 --- .../context/recursion/BaseCasesFinder.java | 7 ++++--- .../context/recursion/RecursionSolver.java | 4 ++-- .../java/it/unive/lisa/conf/FixpointConfiguration.java | 6 ++++++ .../main/java/it/unive/lisa/conf/LiSAConfiguration.java | 8 ++++++++ 4 files changed, 20 insertions(+), 5 deletions(-) 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 index ec523b54b..3850c15ed 100644 --- 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 @@ -55,9 +55,10 @@ public class BaseCasesFinder, /** * 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 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, 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 index d7693bb42..faa3c3928 100644 --- 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 @@ -190,9 +190,9 @@ public void solve() throws SemanticException { for (CFGCall end : ends) recursiveApprox = recursiveApprox.putState(end, transferToCallsite(start, end, post)); - if (conf.wideningThreshold < 0) + if (conf.recursionWideningThreshold < 0) recursiveApprox = previousApprox.lub(recursiveApprox); - else if (recursionCount == conf.wideningThreshold) + else if (recursionCount == conf.recursionWideningThreshold) recursiveApprox = previousApprox.widening(recursiveApprox); else { recursionCount++; 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 9923550bc..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 @@ -227,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 From 0e2be860a262f2087154848dbea24e183f224f6c Mon Sep 17 00:00:00 2001 From: lucaneg Date: Thu, 20 Apr 2023 12:46:23 +0200 Subject: [PATCH 33/33] Regenerating reports after new option #254 --- .../imp-testcases/available-expressions/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/bricks/report.json | 7 ++++--- .../lisa-analyses/imp-testcases/char-inclusion/report.json | 7 ++++--- .../imp-testcases/constant-propagation-df/report.json | 7 ++++--- .../imp-testcases/descending-maxglb/report.json | 7 ++++--- .../imp-testcases/descending-widening/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/fsa/report.json | 7 ++++--- .../heap/point-based-heap/field-insensitive/report.json | 7 ++++--- .../heap/point-based-heap/field-sensitive/report.json | 7 ++++--- .../imp-testcases/heap/type-based-heap/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/int-const/report.json | 7 ++++--- .../imp-testcases/interprocedural/CHA/report.json | 7 ++++--- .../imp-testcases/interprocedural/RTA/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive1/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive2/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive3/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive4/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive5/report.json | 7 ++++--- .../interprocedural/RTAContextSensitive6/report.json | 7 ++++--- .../interprocedural/factorial/full/report.json | 7 ++++--- .../interprocedural/factorial/insensitive/report.json | 7 ++++--- .../interprocedural/factorial/kdepth/report.json | 7 ++++--- .../interprocedural/factorial/last/report.json | 7 ++++--- .../interprocedural/factorialInterleaved/full/report.json | 7 ++++--- .../factorialInterleaved/insensitive/report.json | 7 ++++--- .../factorialInterleaved/kdepth/report.json | 7 ++++--- .../interprocedural/factorialInterleaved/last/report.json | 7 ++++--- .../interprocedural/factorialLoop/full/report.json | 7 ++++--- .../interprocedural/factorialLoop/insensitive/report.json | 7 ++++--- .../interprocedural/factorialLoop/kdepth/report.json | 7 ++++--- .../interprocedural/factorialLoop/last/report.json | 7 ++++--- .../interprocedural/fibonacci/full/report.json | 7 ++++--- .../interprocedural/fibonacci/insensitive/report.json | 7 ++++--- .../interprocedural/fibonacci/kdepth/report.json | 7 ++++--- .../interprocedural/fibonacci/last/report.json | 7 ++++--- .../interprocedural/infiniteRecursion1/full/report.json | 7 ++++--- .../infiniteRecursion1/insensitive/report.json | 7 ++++--- .../interprocedural/infiniteRecursion1/kdepth/report.json | 7 ++++--- .../interprocedural/infiniteRecursion1/last/report.json | 7 ++++--- .../interprocedural/infiniteRecursion2/full/report.json | 7 ++++--- .../infiniteRecursion2/insensitive/report.json | 7 ++++--- .../interprocedural/infiniteRecursion2/kdepth/report.json | 7 ++++--- .../interprocedural/infiniteRecursion2/last/report.json | 7 ++++--- .../interprocedural/nestedRecursions/full/report.json | 7 ++++--- .../nestedRecursions/insensitive/report.json | 7 ++++--- .../interprocedural/nestedRecursions/kdepth/report.json | 7 ++++--- .../interprocedural/nestedRecursions/last/report.json | 7 ++++--- .../interprocedural/twoRecursions/full/report.json | 7 ++++--- .../interprocedural/twoRecursions/insensitive/report.json | 7 ++++--- .../interprocedural/twoRecursions/kdepth/report.json | 7 ++++--- .../interprocedural/twoRecursions/last/report.json | 7 ++++--- .../interprocedural/unreachableBaseCase/full/report.json | 7 ++++--- .../unreachableBaseCase/insensitive/report.json | 7 ++++--- .../interprocedural/unreachableBaseCase/kdepth/report.json | 7 ++++--- .../interprocedural/unreachableBaseCase/last/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/interval/report.json | 7 ++++--- .../non-interference/confidentiality/report.json | 7 ++++--- .../imp-testcases/non-interference/integrity/report.json | 7 ++++--- .../imp-testcases/non-interference/interproc/report.json | 7 ++++--- .../imp-testcases/non-redundant-set-interval/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/parity/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/prefix/report.json | 7 ++++--- .../imp-testcases/reaching-definitions/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/sign/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/suffix/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/syntactic/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/taint/2val/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/taint/3val/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/tarsis/report.json | 7 ++++--- lisa/lisa-analyses/imp-testcases/traces/report.json | 7 ++++--- .../lisa-analyses/imp-testcases/type-inference/report.json | 7 ++++--- .../imp-testcases/visualization/dot/report.json | 7 ++++--- .../imp-testcases/visualization/graphml-sub/report.json | 7 ++++--- .../imp-testcases/visualization/graphml/report.json | 7 ++++--- .../imp-testcases/visualization/html-sub/report.json | 7 ++++--- .../imp-testcases/visualization/html/report.json | 7 ++++--- .../imp-testcases/visualization/inputs/report.json | 7 ++++--- 77 files changed, 308 insertions(+), 231 deletions(-) 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 fcd0de6e3..6af1eaa0b 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive1/report.json @@ -3,14 +3,14 @@ "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" : "1s 117ms", - "end" : "2023-03-22T12:46:40.853+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-22T12:46:39.736+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/RTAContextSensitive2/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json index e06abceed..dab9b7940 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive2/report.json @@ -3,14 +3,14 @@ "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" : "154ms", - "end" : "2023-03-22T12:46:42.038+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-22T12:46:41.884+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/RTAContextSensitive3/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json index c62eeffb6..7ea5d5268 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive3/report.json @@ -3,14 +3,14 @@ "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" : "138ms", - "end" : "2023-03-22T12:46:42.766+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-22T12:46:42.628+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/RTAContextSensitive4/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json index c2d792615..bbd02f260 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive4/report.json @@ -3,14 +3,14 @@ "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" : "127ms", - "end" : "2023-03-22T12:46:43.378+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-22T12:46:43.251+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/RTAContextSensitive5/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json index 354e05c88..88750c43c 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive5/report.json @@ -3,14 +3,14 @@ "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" : "151ms", - "end" : "2023-03-22T12:46:44.057+01:00", + "duration" : "94ms", + "end" : "2023-04-20T12:45:25.359+02:00", "expressions" : "33", "files" : "4", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-03-22T12:46:43.906+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/RTAContextSensitive6/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json index b28382098..5ef1a7d3d 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/RTAContextSensitive6/report.json @@ -3,14 +3,14 @@ "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" : "64ms", - "end" : "2023-03-22T12:46:44.578+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-22T12:46:44.514+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/factorial/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json index ff12ec567..20e1710ba 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/full/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "1s 49ms", - "end" : "2023-04-18T15:22:38.852+02:00", + "duration" : "59ms", + "end" : "2023-04-20T12:45:26.199+02:00", "expressions" : "16", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-18T15:22:37.803+02:00", + "start" : "2023-04-20T12:45:26.140+02:00", "statements" : "6", "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/factorial/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json index ad399ee9f..8abecb948 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/insensitive/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "978ms", - "end" : "2023-04-14T17:01:24.023+02:00", + "duration" : "46ms", + "end" : "2023-04-20T12:45:26.379+02:00", "expressions" : "16", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T17:01:23.045+02:00", + "start" : "2023-04-20T12:45:26.333+02:00", "statements" : "6", "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/factorial/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json index b0a73b7bb..63041894c 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/kdepth/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "558ms", - "end" : "2023-04-14T10:34:25.960+02:00", + "duration" : "103ms", + "end" : "2023-04-20T12:45:27.649+02:00", "expressions" : "16", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T10:34:25.402+02:00", + "start" : "2023-04-20T12:45:27.546+02:00", "statements" : "6", "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/factorial/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json index 85e2f023a..4ac93cfef 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorial/last/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_-1504338471.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "825ms", - "end" : "2023-04-14T12:13:02.586+02:00", + "duration" : "35ms", + "end" : "2023-04-20T12:45:27.839+02:00", "expressions" : "16", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T12:13:01.761+02:00", + "start" : "2023-04-20T12:45:27.804+02:00", "statements" : "6", "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/factorialInterleaved/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json index dfa1c51e3..9bb793b8a 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/full/report.json @@ -3,14 +3,14 @@ "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" : "133ms", - "end" : "2023-04-18T15:22:40.059+02:00", + "duration" : "69ms", + "end" : "2023-04-20T12:45:26.590+02:00", "expressions" : "21", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-04-18T15:22:39.926+02:00", + "start" : "2023-04-20T12:45:26.521+02:00", "statements" : "8", "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/factorialInterleaved/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json index aea477a03..35ef70bfc 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "861ms", - "end" : "2023-04-14T17:03:45.358+02:00", + "duration" : "51ms", + "end" : "2023-04-20T12:45:26.791+02:00", "expressions" : "21", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-04-14T17:03:44.497+02:00", + "start" : "2023-04-20T12:45:26.740+02:00", "statements" : "8", "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/factorialInterleaved/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json index cdb5a0332..a72f9c20f 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/kdepth/report.json @@ -3,14 +3,14 @@ "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" : "928ms", - "end" : "2023-04-14T12:29:42.760+02:00", + "duration" : "78ms", + "end" : "2023-04-20T12:45:27.037+02:00", "expressions" : "21", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-04-14T12:29:41.832+02:00", + "start" : "2023-04-20T12:45:26.959+02:00", "statements" : "8", "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/factorialInterleaved/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json index d1b6148d8..faf21a0f0 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialInterleaved/last/report.json @@ -3,14 +3,14 @@ "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" : "896ms", - "end" : "2023-04-14T12:30:51.912+02:00", + "duration" : "54ms", + "end" : "2023-04-20T12:45:27.311+02:00", "expressions" : "21", "files" : "3", "globals" : "0", "members" : "3", "programs" : "1", - "start" : "2023-04-14T12:30:51.016+02:00", + "start" : "2023-04-20T12:45:27.257+02:00", "statements" : "8", "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/factorialLoop/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json index a300aa9a9..0b4b8de3d 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/full/report.json @@ -3,14 +3,14 @@ "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" : "213ms", - "end" : "2023-04-18T15:22:43.618+02:00", + "duration" : "82ms", + "end" : "2023-04-20T12:45:28.040+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-18T15:22:43.405+02:00", + "start" : "2023-04-20T12:45:27.958+02:00", "statements" : "14", "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/factorialLoop/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json index 363ed016b..efd986397 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "1s 30ms", - "end" : "2023-04-16T18:15:40.112+02:00", + "duration" : "128ms", + "end" : "2023-04-20T12:45:28.497+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-16T18:15:39.082+02:00", + "start" : "2023-04-20T12:45:28.369+02:00", "statements" : "14", "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/factorialLoop/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json index a72213d6d..617041867 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/kdepth/report.json @@ -3,14 +3,14 @@ "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" : "1s 855ms", - "end" : "2023-04-16T18:12:00.434+02:00", + "duration" : "92ms", + "end" : "2023-04-20T12:45:28.864+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-16T18:11:58.579+02:00", + "start" : "2023-04-20T12:45:28.772+02:00", "statements" : "14", "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/factorialLoop/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json index 2b3f72c12..9e6fbd8f7 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/factorialLoop/last/report.json @@ -3,14 +3,14 @@ "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" : "1s 342ms", - "end" : "2023-04-16T18:13:37.288+02:00", + "duration" : "85ms", + "end" : "2023-04-20T12:45:29.175+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-16T18:13:35.946+02:00", + "start" : "2023-04-20T12:45:29.090+02:00", "statements" : "14", "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/fibonacci/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json index 2fd5a6282..fa2170c27 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/full/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "945ms", - "end" : "2023-04-18T14:38:39.501+02:00", + "duration" : "75ms", + "end" : "2023-04-20T12:45:29.502+02:00", "expressions" : "22", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-18T14:38:38.556+02:00", + "start" : "2023-04-20T12:45:29.427+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/fibonacci/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json index fabbe7559..c312ead8b 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/insensitive/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n).json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "506ms", - "end" : "2023-04-14T17:13:07.377+02:00", + "duration" : "51ms", + "end" : "2023-04-20T12:45:29.605+02:00", "expressions" : "22", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T17:13:06.871+02:00", + "start" : "2023-04-20T12:45:29.554+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/fibonacci/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json index bf8972a66..6fdee41de 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/kdepth/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "549ms", - "end" : "2023-04-14T17:09:38.468+02:00", + "duration" : "40ms", + "end" : "2023-04-20T12:45:29.685+02:00", "expressions" : "22", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T17:09:37.919+02:00", + "start" : "2023-04-20T12:45:29.645+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/fibonacci/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json index 30267ac5f..a6fa761a6 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/fibonacci/last/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_fibonacci.fib(fibonacci__this,_untyped_n)_-718248077.json", "untyped_fibonacci.main(fibonacci__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "508ms", - "end" : "2023-04-14T17:11:38.928+02:00", + "duration" : "48ms", + "end" : "2023-04-20T12:45:29.783+02:00", "expressions" : "22", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-14T17:11:38.420+02:00", + "start" : "2023-04-20T12:45:29.735+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/infiniteRecursion1/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json index 0dc3f8b40..55b317b02 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/full/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "53ms", - "end" : "2023-04-18T15:22:46.181+02:00", + "duration" : "54ms", + "end" : "2023-04-20T12:45:29.899+02:00", "expressions" : "13", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-18T15:22:46.128+02:00", + "start" : "2023-04-20T12:45:29.845+02:00", "statements" : "4", "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/infiniteRecursion1/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json index 74a9a6d6b..a2cbbae11 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/insensitive/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n).json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "1s 248ms", - "end" : "2023-04-17T23:25:26.639+02:00", + "duration" : "41ms", + "end" : "2023-04-20T12:45:30.099+02:00", "expressions" : "13", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-17T23:25:25.391+02:00", + "start" : "2023-04-20T12:45:30.058+02:00", "statements" : "4", "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/infiniteRecursion1/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json index 73a65d029..720aff5d5 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/kdepth/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "486ms", - "end" : "2023-04-17T23:23:51.796+02:00", + "duration" : "39ms", + "end" : "2023-04-20T12:45:30.282+02:00", "expressions" : "13", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-17T23:23:51.310+02:00", + "start" : "2023-04-20T12:45:30.243+02:00", "statements" : "4", "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/infiniteRecursion1/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json index c35e77c03..128ac4787 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion1/last/report.json @@ -3,14 +3,14 @@ "files" : [ "report.json", "untyped_factorial.factorial(factorial__this,_untyped_n)_344402949.json", "untyped_factorial.main(factorial__this,_untyped_a).json" ], "info" : { "cfgs" : "2", - "duration" : "526ms", - "end" : "2023-04-17T23:24:41.619+02:00", + "duration" : "174ms", + "end" : "2023-04-20T12:45:30.652+02:00", "expressions" : "13", "files" : "2", "globals" : "0", "members" : "2", "programs" : "1", - "start" : "2023-04-17T23:24:41.093+02:00", + "start" : "2023-04-20T12:45:30.478+02:00", "statements" : "4", "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/infiniteRecursion2/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json index 668abad7a..1733a0bd7 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/full/report.json @@ -3,14 +3,14 @@ "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" : "89ms", - "end" : "2023-04-18T15:22:47.054+02:00", + "duration" : "67ms", + "end" : "2023-04-20T12:45:30.910+02:00", "expressions" : "25", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-18T15:22:46.965+02:00", + "start" : "2023-04-20T12:45:30.843+02:00", "statements" : "8", "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/infiniteRecursion2/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json index 689a5710d..3eb40a38e 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "1s 362ms", - "end" : "2023-04-17T23:27:52.443+02:00", + "duration" : "70ms", + "end" : "2023-04-20T12:45:31.167+02:00", "expressions" : "25", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:27:51.081+02:00", + "start" : "2023-04-20T12:45:31.097+02:00", "statements" : "8", "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/infiniteRecursion2/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json index f2a726451..3b65f29ee 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/kdepth/report.json @@ -3,14 +3,14 @@ "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" : "1s 107ms", - "end" : "2023-04-17T23:26:19.734+02:00", + "duration" : "120ms", + "end" : "2023-04-20T12:45:31.443+02:00", "expressions" : "25", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:26:18.627+02:00", + "start" : "2023-04-20T12:45:31.323+02:00", "statements" : "8", "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/infiniteRecursion2/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json index 2cec27ee7..e25040c1f 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/infiniteRecursion2/last/report.json @@ -3,14 +3,14 @@ "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" : "1s 122ms", - "end" : "2023-04-17T23:27:33.723+02:00", + "duration" : "71ms", + "end" : "2023-04-20T12:45:31.680+02:00", "expressions" : "25", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:27:32.601+02:00", + "start" : "2023-04-20T12:45:31.609+02:00", "statements" : "8", "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/nestedRecursions/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json index 80a94147f..774b6c8ca 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/full/report.json @@ -3,14 +3,14 @@ "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" : "158ms", - "end" : "2023-04-19T12:14:17.119+02:00", + "duration" : "99ms", + "end" : "2023-04-20T12:45:31.945+02:00", "expressions" : "56", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-04-19T12:14:16.961+02:00", + "start" : "2023-04-20T12:45:31.846+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/interprocedural/nestedRecursions/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json index 88ab68229..8167b9c93 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "105ms", - "end" : "2023-04-19T12:14:17.678+02:00", + "duration" : "112ms", + "end" : "2023-04-20T12:45:32.279+02:00", "expressions" : "56", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-04-19T12:14:17.573+02:00", + "start" : "2023-04-20T12:45:32.167+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/interprocedural/nestedRecursions/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json index 3a4e18c32..433d230bc 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/kdepth/report.json @@ -3,14 +3,14 @@ "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-19T12:14:18.060+02:00", + "duration" : "109ms", + "end" : "2023-04-20T12:45:32.672+02:00", "expressions" : "56", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-04-19T12:14:17.961+02:00", + "start" : "2023-04-20T12:45:32.563+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/interprocedural/nestedRecursions/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json index 67be1f4ac..d0e0d8116 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/nestedRecursions/last/report.json @@ -3,14 +3,14 @@ "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" : "84ms", - "end" : "2023-04-19T12:14:18.438+02:00", + "duration" : "96ms", + "end" : "2023-04-20T12:45:32.994+02:00", "expressions" : "56", "files" : "5", "globals" : "0", "members" : "5", "programs" : "1", - "start" : "2023-04-19T12:14:18.354+02:00", + "start" : "2023-04-20T12:45:32.898+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/interprocedural/twoRecursions/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json index 5ca3904cb..3cd39a9e2 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/full/report.json @@ -3,14 +3,14 @@ "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" : "187ms", - "end" : "2023-04-18T15:22:48.557+02:00", + "duration" : "80ms", + "end" : "2023-04-20T12:45:33.329+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-18T15:22:48.370+02:00", + "start" : "2023-04-20T12:45:33.249+02:00", "statements" : "11", "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/twoRecursions/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json index 876b825cf..2ed09383c 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "1s 203ms", - "end" : "2023-04-17T23:13:06.343+02:00", + "duration" : "92ms", + "end" : "2023-04-20T12:45:33.663+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:13:05.140+02:00", + "start" : "2023-04-20T12:45:33.571+02:00", "statements" : "11", "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/twoRecursions/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json index 3e733142a..c09a36de8 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/kdepth/report.json @@ -3,14 +3,14 @@ "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" : "1s 416ms", - "end" : "2023-04-17T23:11:35.920+02:00", + "duration" : "68ms", + "end" : "2023-04-20T12:45:33.927+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:11:34.504+02:00", + "start" : "2023-04-20T12:45:33.859+02:00", "statements" : "11", "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/twoRecursions/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json index b6f7800e0..1ea17b53e 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/twoRecursions/last/report.json @@ -3,14 +3,14 @@ "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" : "1s 94ms", - "end" : "2023-04-17T23:11:52.134+02:00", + "duration" : "87ms", + "end" : "2023-04-20T12:45:34.232+02:00", "expressions" : "40", "files" : "4", "globals" : "0", "members" : "4", "programs" : "1", - "start" : "2023-04-17T23:11:51.040+02:00", + "start" : "2023-04-20T12:45:34.145+02:00", "statements" : "11", "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/unreachableBaseCase/full/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json index ae3703433..2fea94301 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/full/report.json @@ -3,14 +3,14 @@ "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" : "586ms", - "end" : "2023-04-20T12:26:07.704+02:00", + "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:26:07.118+02:00", + "start" : "2023-04-20T12:45:34.458+02:00", "statements" : "9", "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/unreachableBaseCase/insensitive/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json index 09b704024..888e2a03f 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/insensitive/report.json @@ -3,14 +3,14 @@ "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" : "39ms", - "end" : "2023-04-20T12:29:31.308+02:00", + "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:29:31.269+02:00", + "start" : "2023-04-20T12:45:34.713+02:00", "statements" : "9", "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/unreachableBaseCase/kdepth/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json index 44ad1aca5..34bcf0371 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/kdepth/report.json @@ -3,14 +3,14 @@ "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" : "39ms", - "end" : "2023-04-20T12:29:31.506+02:00", + "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:29:31.467+02:00", + "start" : "2023-04-20T12:45:34.900+02:00", "statements" : "9", "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/unreachableBaseCase/last/report.json b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json index e3ea66116..ef283467f 100644 --- a/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json +++ b/lisa/lisa-analyses/imp-testcases/interprocedural/unreachableBaseCase/last/report.json @@ -3,14 +3,14 @@ "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" : "52ms", - "end" : "2023-04-20T12:29:31.725+02:00", + "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:29:31.673+02:00", + "start" : "2023-04-20T12:45:35.119+02:00", "statements" : "9", "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/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 4a968e5e1..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" : "198ms", - "end" : "2023-03-22T17:37:47.369+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-22T17:37:47.171+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/integrity/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/integrity/report.json index 3eea37294..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" : "212ms", - "end" : "2023-03-22T17:37:46.307+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-22T17:37:46.095+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/interproc/report.json b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json index 377687185..b770e77d2 100644 --- a/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json +++ b/lisa/lisa-analyses/imp-testcases/non-interference/interproc/report.json @@ -9,14 +9,14 @@ "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" : "952ms", - "end" : "2023-03-22T17:29:29.112+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-22T17:29:28.160+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-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 2d697504b..1e9052fd4 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/2val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/2val/report.json @@ -67,14 +67,14 @@ "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" : "2s 657ms", - "end" : "2023-03-22T17:37:31.876+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-22T17:37:29.219+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/3val/report.json b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json index f48eb3a02..917c51bac 100644 --- a/lisa/lisa-analyses/imp-testcases/taint/3val/report.json +++ b/lisa/lisa-analyses/imp-testcases/taint/3val/report.json @@ -67,14 +67,14 @@ "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" : "695ms", - "end" : "2023-03-22T17:37:36.114+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-22T17:37:35.419+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/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 62172788a..3c6352523 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/dot/report.json @@ -3,14 +3,14 @@ "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" : "192ms", - "end" : "2023-03-22T12:46:49.998+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-22T12:46:49.806+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/graphml-sub/report.json b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json index 3ce9dc71e..4e9277e2b 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml-sub/report.json @@ -3,14 +3,14 @@ "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" : "405ms", - "end" : "2023-03-22T12:46:49.277+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-22T12:46:48.872+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/report.json b/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json index 32a61c90b..2ec3276ed 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/graphml/report.json @@ -3,14 +3,14 @@ "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" : "190ms", - "end" : "2023-03-22T12:46:51.839+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-22T12:46:51.649+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/html-sub/report.json b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json index 2ce1a8b8e..0f49c18ac 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/html-sub/report.json @@ -3,14 +3,14 @@ "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" : "420ms", - "end" : "2023-03-22T12:46:52.718+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-22T12:46:52.298+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/report.json b/lisa/lisa-analyses/imp-testcases/visualization/html/report.json index a51642374..cc870e61f 100644 --- a/lisa/lisa-analyses/imp-testcases/visualization/html/report.json +++ b/lisa/lisa-analyses/imp-testcases/visualization/html/report.json @@ -3,14 +3,14 @@ "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" : "384ms", - "end" : "2023-03-22T12:46:50.757+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-22T12:46:50.373+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/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",