From d397d1e0afd529dcdd06ded0c18a38e7f17af418 Mon Sep 17 00:00:00 2001 From: VincenzoArceri Date: Mon, 26 Feb 2024 10:04:59 +0100 Subject: [PATCH] Fixing opcode count --- src/main/java/it/unipr/EVMLiSA.java | 6 +++--- src/main/java/it/unipr/cfg/EVMCFG.java | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/unipr/EVMLiSA.java b/src/main/java/it/unipr/EVMLiSA.java index be9d554af..8a3032b58 100644 --- a/src/main/java/it/unipr/EVMLiSA.java +++ b/src/main/java/it/unipr/EVMLiSA.java @@ -196,7 +196,7 @@ else if (dumpAnalysis.equals("html")) String msg2 = "\nResults \n" + "Address: " + addressSC + "\n" + - "Opcodes: " + baseCfg.getNodesCount() + "\n" + + "Opcodes: " + baseCfg.getOpcodeCount() + "\n" + "Jumps: " + baseCfg.getAllJumps().size() + "\n" + "PreciselyResolvedJumps: " + pair.getLeft() + "\n" + "SoundResolvedJumps: " + pair.getMiddle() + "\n" + @@ -210,7 +210,7 @@ else if (dumpAnalysis.equals("html")) if (dumpStatistics) { String msg = MyLogger.newLogger() .address(addressSC) - .opcodes(baseCfg.getNodesCount()) + .opcodes(baseCfg.getOpcodeCount()) .jumps(baseCfg.getAllJumps().size()) .preciselyResolvedJumps(pair.getLeft()) .soundResolvedJumps(pair.getMiddle()) @@ -292,7 +292,7 @@ else if (!cfg.reachableFrom(entryPoint, jumpNode)) } System.err.println("##############"); - System.err.println("Total opcodes: " + cfg.getNodesCount()); + System.err.println("Total opcodes: " + cfg.getOpcodeCount()); System.err.println("Total jumps: " + cfg.getAllJumps().size()); System.err.println("Precisely solved jumps: " + preciselyResolvedJumps); System.err.println("Sound solved jumps: " + soundResolvedJumps); diff --git a/src/main/java/it/unipr/cfg/EVMCFG.java b/src/main/java/it/unipr/cfg/EVMCFG.java index 28e040c8f..8bb2b055b 100644 --- a/src/main/java/it/unipr/cfg/EVMCFG.java +++ b/src/main/java/it/unipr/cfg/EVMCFG.java @@ -88,6 +88,11 @@ public Set getAllJumps() { return jumpNodes; } + + public int getOpcodeCount() { + // -1 for the return statement + return this.getNodesCount() - 1; + } public , H extends HeapDomain,