From 2604e2044793274b536bba2696c1ba6fd1e2ac24 Mon Sep 17 00:00:00 2001 From: hansen <dominik_hansen@web.de> Date: Mon, 1 Jun 2015 12:08:20 +0200 Subject: [PATCH] print coverage statistics --- src/main/java/de/tlc4b/TLC4BGlobals.java | 10 ++++++++++ src/main/java/de/tlc4b/TLCRunner.java | 6 ++++++ src/main/java/de/tlc4b/Translator.java | 10 +++++++--- src/main/java/de/tlc4b/analysis/MachineContext.java | 4 ++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tlc4b/TLC4BGlobals.java b/src/main/java/de/tlc4b/TLC4BGlobals.java index faf0db7..88abc39 100644 --- a/src/main/java/de/tlc4b/TLC4BGlobals.java +++ b/src/main/java/de/tlc4b/TLC4BGlobals.java @@ -14,6 +14,7 @@ public class TLC4BGlobals { private static boolean proBconstantsSetup; private static boolean partialInvariantEvaluation; private static boolean useSymmetry; + private static boolean printCoverage; private static boolean deleteFilesOnExit; @@ -49,6 +50,7 @@ public class TLC4BGlobals { checkWD = false; partialInvariantEvaluation = false; useSymmetry = false; + printCoverage = false; setForceTLCToEvalConstants(true); setProBconstantsSetup(false); @@ -247,5 +249,13 @@ public class TLC4BGlobals { public static void setSymmetryUse(boolean b) { useSymmetry = b; } + + public static void setPrintCoverage(boolean b){ + printCoverage = b; + } + + public static boolean isPrintCoverage(){ + return printCoverage; + } } diff --git a/src/main/java/de/tlc4b/TLCRunner.java b/src/main/java/de/tlc4b/TLCRunner.java index 8be4aad..9e67b65 100644 --- a/src/main/java/de/tlc4b/TLCRunner.java +++ b/src/main/java/de/tlc4b/TLCRunner.java @@ -103,6 +103,12 @@ public class TLCRunner { list.add("-workers"); list.add("" + TLC4BGlobals.getWorkers()); } + + if(TLC4BGlobals.isPrintCoverage()){ + list.add("-nowarning"); + list.add("-coverage"); + list.add(""+ 100); + } //list.add("-config"); //list.add(machineName + ".cfg"); diff --git a/src/main/java/de/tlc4b/Translator.java b/src/main/java/de/tlc4b/Translator.java index 135c9f0..efc50e4 100644 --- a/src/main/java/de/tlc4b/Translator.java +++ b/src/main/java/de/tlc4b/Translator.java @@ -111,6 +111,10 @@ public class Translator { MachineContext machineContext = new MachineContext(machineName, start, ltlFormula, constantsSetup); this.machineName = machineContext.getMachineName(); + if(machineContext + .machineContainsOperations()){ + TLC4BGlobals.setPrintCoverage(true); + } Typechecker typechecker = new Typechecker(machineContext); UnchangedVariablesFinder unchangedVariablesFinder = new UnchangedVariablesFinder( @@ -155,7 +159,8 @@ public class Translator { TLAPrinter printer = new TLAPrinter(machineContext, typechecker, unchangedVariablesFinder, precedenceCollector, usedModules, typeRestrictor, generator.getTlaModule(), - generator.getConfigFile(), primedNodesMarker, renamer, invariantPreservationAnalysis); + generator.getConfigFile(), primedNodesMarker, renamer, + invariantPreservationAnalysis); printer.start(); moduleString = printer.getStringbuilder().toString(); configString = printer.getConfigString().toString(); @@ -197,9 +202,8 @@ public class Translator { return usedStandardModules; } - public String getTranslatedLTLFormula(){ + public String getTranslatedLTLFormula() { return translatedLTLFormula; } - } diff --git a/src/main/java/de/tlc4b/analysis/MachineContext.java b/src/main/java/de/tlc4b/analysis/MachineContext.java index 0db6b07..2002c16 100644 --- a/src/main/java/de/tlc4b/analysis/MachineContext.java +++ b/src/main/java/de/tlc4b/analysis/MachineContext.java @@ -1090,6 +1090,10 @@ public class MachineContext extends DepthFirstAdapter { return invariantMachineClause; } + public boolean machineContainsOperations() { + return operations.size() > 0; + } + public AInitialisationMachineClause getInitialisationMachineClause() { return initialisationMachineClause; } -- GitLab