From 0a5d9d7ab222c5cbb406930ede21d1ac32b11f22 Mon Sep 17 00:00:00 2001 From: Julian Gutierrez Ostrovsky <juli_fgo@hotmail.com> Date: Wed, 28 Apr 2021 21:58:54 -0300 Subject: [PATCH] Intento de logueo total al final --- .../zero-analysis/src/main/java/Launcher.java | 1 + .../src/main/java/dataflow/DivisionByZeroAnalysis.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/02/soot-dataflow-analysis/zero-analysis/src/main/java/Launcher.java b/02/soot-dataflow-analysis/zero-analysis/src/main/java/Launcher.java index 7fcd949..6fbb6f5 100644 --- a/02/soot-dataflow-analysis/zero-analysis/src/main/java/Launcher.java +++ b/02/soot-dataflow-analysis/zero-analysis/src/main/java/Launcher.java @@ -42,6 +42,7 @@ public class Launcher { } } + results.getAllVariablesStatus(); } })); soot.Main.main(args); diff --git a/02/soot-dataflow-analysis/zero-analysis/src/main/java/dataflow/DivisionByZeroAnalysis.java b/02/soot-dataflow-analysis/zero-analysis/src/main/java/dataflow/DivisionByZeroAnalysis.java index e4cc80d..9700342 100644 --- a/02/soot-dataflow-analysis/zero-analysis/src/main/java/dataflow/DivisionByZeroAnalysis.java +++ b/02/soot-dataflow-analysis/zero-analysis/src/main/java/dataflow/DivisionByZeroAnalysis.java @@ -17,6 +17,7 @@ public class DivisionByZeroAnalysis extends ForwardFlowAnalysis<Unit, ZeroAbstra private HashMap<Unit, Boolean> possibleDivisionByZero = new HashMap<>(); private HashMap<Unit, String> value_logs = new HashMap<>(); + private HashMap<String, String> variables_logs = new HashMap<>(); public DivisionByZeroAnalysis(UnitGraph graph) { super(graph); @@ -42,6 +43,7 @@ public class DivisionByZeroAnalysis extends ForwardFlowAnalysis<Unit, ZeroAbstra } if(resolvedValue != null){ value_logs.put(unit,resolvedValue.toString()); + variables_logs.put(variable.getName(),resolvedValue.toString()); } // Set in flowed values out.setValue(variable.getName(), resolvedValue); @@ -72,5 +74,13 @@ public class DivisionByZeroAnalysis extends ForwardFlowAnalysis<Unit, ZeroAbstra public String getValueLogs(Unit unit){ return value_logs.getOrDefault(unit, "No information"); } + + public String getAllVariablesStatus(){ + String res=""; + for (Map.Entry<String, String> entry : variables_logs.entrySet()) { + res=res+" "+entry.getKey()+": "+entry.getValue()+";"; + } + return res; + } } -- GitLab