diff --git a/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java b/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
index 128ede76c8156306b1826374c5dbab92c6c0c5c2..d28445494f7d798bee04a54b52d0925ad22a68cf 100644
--- a/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
+++ b/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
@@ -226,7 +226,20 @@ public class SpecificationActionLoop {
         if(internalLoops == null) {
             return "";
         } else if (cover == null) {
-            return "In block " + internalLoops.get(0).get(0).getBlock().getName();
+            s.append("In block " + internalLoops.get(0).get(0).getBlock().getName() + " : ");
+            boolean first = true;
+            for (List<AvatarTransition> list : internalLoops) {
+                if (!first) {
+                    s.append(", or ");
+                }
+                first = false;
+                s.append(list.get(list.size() - 1).getNext(0).getName());
+                for (AvatarTransition at : list) {
+                    s.append(" --> " + at.getNext(0).getName());
+                }
+            }
+            s.append(" lead to a infinite internal loop\n");
+            return s.toString();
         }
         
         int i = 0;
diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java
index e9ba8acdc4bd3caae911b80b8f195d98ed7b04bc..4a3e12db79ad99ba45bc0ab78250b030b7a71a32 100644
--- a/src/main/java/cli/Action.java
+++ b/src/main/java/cli/Action.java
@@ -42,6 +42,7 @@ package cli;
 import avatartranslator.AvatarSpecification;
 import avatartranslator.modelchecker.AvatarModelChecker;
 import avatartranslator.modelchecker.CounterexampleQueryReport;
+import avatartranslator.modelchecker.SpecificationActionLoop;
 import avatartranslator.modelcheckervalidator.ModelCheckerValidator;
 import common.ConfigurationTTool;
 import common.SpecConfigTTool;
@@ -851,12 +852,14 @@ public class Action extends Command {
                     + "-la\tliveness of all states\n"
                     + "-s\tsafety pragmas verification\n"
                     + "-q \"QUERY\"\tquery a safety pragma\n"
-                    + "-d\tno deadlocks verification\n"
+                    + "-d\tno deadlocks check\n"
+                    + "-i\ttest model reinitialization\n"
+                    + "-a\tno internal actions loops check\n"
                     + "-n NUM\tmaximum states created (Only for a non verification study)\n"
                     + "-t NUM\tmaximum time (ms) (Only for a non verification study)\n"
                     + "-c\tconsider full concurrency between actions\n"
-                    + "-v FILE\tsave counterexample traces for pragmas in FILE"
-                    + "-va FILE\tsave counterexample traces and AUT graph for pragmas in FILE";
+                    + "-vt FILE\tsave verification traces in FILE"
+                    + "-va FILE\tsave verification traces as AUT graph in FILE";
             }
 
             public String getExample() {
@@ -878,6 +881,7 @@ public class Action extends Command {
                 //String graphPath = commands[commands.length - 1];
                 String graphPath = "";
                 String counterPath = "";
+                String counterPathAUT = "";
 
                 AvatarSpecification avspec = interpreter.mgui.gtm.getAvatarSpecification();
                 if(avspec == null) {
@@ -896,6 +900,8 @@ public class Action extends Command {
                 boolean livenessAnalysis = false;
                 boolean safetyAnalysis = false;
                 boolean noDeadlocks = false;
+                boolean reinit = false;
+                boolean actionLoop = false;
                 for (int i = 0; i < commands.length; i++) {
                     //specification
                     switch (commands[i]) {
@@ -961,10 +967,20 @@ public class Action extends Command {
                             safetyAnalysis = true;
                             break;
                         case "-d":
-                            //safety
+                            //deadlock
                             amc.setCheckNoDeadlocks(true);
                             noDeadlocks = true;
                             break;
+                        case "-i":
+                            //reinitialization
+                            amc.setReinitAnalysis(true);
+                            reinit = true;
+                            break;
+                        case "-a":
+                            //internal action loops
+                            amc.setInternalActionLoopAnalysis(true);
+                            actionLoop = true;
+                            break;
                         case "-n":
                             //state limit followed by a number
                             long states;
@@ -994,7 +1010,6 @@ public class Action extends Command {
                         case "-v":
                             if (i != commands.length - 1) {
                                 counterPath = commands[++i];
-                                amc.setCounterExampleTrace(true, false);
                                 counterTraces = true;
                             } else {
                                 return Interpreter.BAD;
@@ -1002,9 +1017,7 @@ public class Action extends Command {
                             break;
                         case "-va":
                             if (i != commands.length - 1) {
-                                counterPath = commands[++i];
-                                amc.setCounterExampleTrace(true, true);
-                                counterTraces = true;
+                                counterPathAUT = commands[++i];
                                 counterTracesAUT = true;
                             } else {
                                 return Interpreter.BAD;
@@ -1015,6 +1028,8 @@ public class Action extends Command {
                     }
                 }
                 TraceManager.addDev("Starting model checking");
+                amc.setCounterExampleTrace(counterTraces, counterTracesAUT);
+
                 if (livenessAnalysis || safetyAnalysis || noDeadlocks) {
                     amc.startModelCheckingProperties();
                 } else {
@@ -1026,6 +1041,21 @@ public class Action extends Command {
                 if (noDeadlocks) {
                     interpreter.print("No Deadlocks:\n" + amc.deadlockToString());
                 }
+                if (reinit) {
+                    interpreter.print("Reinitialization?:\n" + amc.reinitToString());
+                }
+                if (actionLoop) {
+                    boolean result = amc.getInternalActionLoopsResult();
+                    interpreter.print("No internal action loops?:\n" + result);
+                    if (!result) {
+                        ArrayList<SpecificationActionLoop> al = amc.getInternalActionLoops();
+                        for (SpecificationActionLoop sal : al) {
+                            if (sal.getResult()) {
+                                interpreter.print(sal.toString());
+                            }
+                        }
+                    }
+                }
                 if (reachabilityAnalysis) {
                     interpreter.print("Reachability Analysis:\n" + amc.reachabilityToStringGeneric());
                 }
@@ -1059,6 +1089,11 @@ public class Action extends Command {
                     }
                     
                     if (counterTracesAUT) {
+                        if (counterPathAUT.indexOf("$") != -1) {
+                            file = Conversion.replaceAllChar(counterPathAUT, '$', dateAndTime);
+                        } else {
+                            file = counterPathAUT;
+                        }
                         List<CounterexampleQueryReport> autTraces = amc.getAUTTraces();
                         if (autTraces != null) {
                             int i = 0;
diff --git a/src/main/java/ui/window/JDialogAvatarModelChecker.java b/src/main/java/ui/window/JDialogAvatarModelChecker.java
index 89e45b228b761ac37a9ea30d3662660c268cb17f..a94cf11001e86cc85b093bbc756ca35125e6f6f4 100644
--- a/src/main/java/ui/window/JDialogAvatarModelChecker.java
+++ b/src/main/java/ui/window/JDialogAvatarModelChecker.java
@@ -330,7 +330,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         
         // Internal action loop
         cbasic.gridwidth = GridBagConstraints.REMAINDER;
-        actionLoop = new JCheckBox("No internal action loops? (test)", checkActionLoopSelected);
+        actionLoop = new JCheckBox("No internal action loops?", checkActionLoopSelected);
         actionLoop.addActionListener(this);
         jpbasic.add(actionLoop, cbasic);
 
@@ -888,9 +888,10 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                     jta.append("Internal action loops:\n");
                     for (SpecificationActionLoop sal : al) {
                         if (sal.getResult()) {
-                            jta.append(sal.toString() + "\n");
+                            jta.append(sal.toString());
                         }
                     }
+                    jta.append("\n");
                 }
             }