diff --git a/include/dynamic-graph/time-dependency.t.cpp b/include/dynamic-graph/time-dependency.t.cpp
index c4535dcb0c490976ba60e7078bde524acf52a8e2..5596e2610e29dcda0d66b2bfdc129c4776e87033 100644
--- a/include/dynamic-graph/time-dependency.t.cpp
+++ b/include/dynamic-graph/time-dependency.t.cpp
@@ -144,7 +144,7 @@ TimeDependency<Time>::displayDependencies(std::ostream &os, const int depth,
         std::string ajout = "|";
         std::string ajout2 = "|";
         typename Dependencies::const_iterator it2 = it;
-        it2++;
+        ++it2;
         if (it2 == dependencies.end()) {
           ajout = "`";
           ajout2 = " ";
diff --git a/src/debug/real-time-logger.cpp b/src/debug/real-time-logger.cpp
index 3646d1d04dcb89e575d86f7992e1d7cd4495f013..2489134af26a261623c2d370957f4a13317ffd6c 100644
--- a/src/debug/real-time-logger.cpp
+++ b/src/debug/real-time-logger.cpp
@@ -72,22 +72,22 @@ struct RealTimeLogger::thread {
   bool changedThreadParams;
   boost::thread t_;
 
-  thread(RealTimeLogger *logger)
+  explicit thread(RealTimeLogger *logger)
       : requestShutdown_(false), threadPolicy_(SCHED_OTHER), threadPriority_(0),
         changedThreadParams(true), t_(&thread::spin, this, logger) {}
 
-  void setThreadPolicy(int policy) {
-    threadPolicy_ = policy;
-    changedThreadParams = true;
-  }
+  //  void setThreadPolicy(int policy) {
+  //  threadPolicy_ = policy;
+  //  changedThreadParams = true;
+  // }
 
-  void setPriority(int priority) {
-    threadPriority_ = priority;
-    changedThreadParams = true;
-  }
+  // void setPriority(int priority) {
+  //    threadPriority_ = priority;
+  //    changedThreadParams = true;
+  //  }
 
-  int getThreadPolicy() { return threadPolicy_; }
-  int getThreadPriority() { return threadPriority_; }
+  //  int getThreadPolicy() { return threadPolicy_; }
+  // int getThreadPriority() { return threadPriority_; }
 
   void changeThreadParams() {
     int threadPolicy;
diff --git a/src/dgraph/entity.cpp b/src/dgraph/entity.cpp
index 18e7d0dddaa2b9add8111e4bd6068fe39f04f63c..fb1643ea95b766953350d7a56993f87a17467c0f 100644
--- a/src/dgraph/entity.cpp
+++ b/src/dgraph/entity.cpp
@@ -46,7 +46,7 @@ Entity::Entity(const string &name__) : name(name__) {
 Entity::~Entity() {
   dgDEBUG(25) << "# In (" << name << " { " << endl;
   for (std::map<const std::string, Command *>::iterator it = commandMap.begin();
-       it != commandMap.end(); it++) {
+       it != commandMap.end(); ++it) {
     delete it->second;
   }
   dgDEBUGOUT(25);
diff --git a/src/signal/signal-caster.cpp b/src/signal/signal-caster.cpp
index 59835116ba757967e37d8c4e2d5618e9de363200..5178e7a961b1d91e67cf13ed8a95ea8ff04b2926 100644
--- a/src/signal/signal-caster.cpp
+++ b/src/signal/signal-caster.cpp
@@ -83,7 +83,7 @@ std::vector<std::string> SignalCaster::listTypenames() const {
   std::vector<std::string> typeList;
   for (std::map<std::string, cast_functions_type>::const_iterator iter =
            functions_.begin();
-       iter != functions_.end(); iter++)
+       iter != functions_.end(); ++iter)
     typeList.push_back(iter->first);
   return typeList;
 }
diff --git a/src/traces/tracer-real-time.cpp b/src/traces/tracer-real-time.cpp
index f45fec1fef291c26a1979af0d62ee479aba3a326..e2fdcbeef553fdadd94241a125ff26c0d2e889a5 100644
--- a/src/traces/tracer-real-time.cpp
+++ b/src/traces/tracer-real-time.cpp
@@ -317,7 +317,7 @@ void TracerRealTime::display(std::ostream &os) const {
       os.precision(PRECISION);
     }
     os << endl;
-    iterFile++;
+    ++iterFile;
   }
 }
 
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f4938fc48f1eca9c19c0c19cf4039ab75ed45016..6561cf4202e330f2d319e1b390e482bb48d6076d 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -67,3 +67,4 @@ DYNAMIC_GRAPH_TEST(signal-all)
 DYNAMIC_GRAPH_TEST(command-test)
 DYNAMIC_GRAPH_TEST(test-mt)
 TARGET_LINK_LIBRARIES(test-mt tracer)
+DYNAMIC_GRAPH_TEST(exceptions)
diff --git a/tests/command-test.cpp b/tests/command-test.cpp
index ef9e633276b22294c0e4848763ec7e9019de19ab..1d0d1636675263fd86cda62aeced4c2b3bd56285 100644
--- a/tests/command-test.cpp
+++ b/tests/command-test.cpp
@@ -37,7 +37,7 @@ public:
   bool test_four_args_;
 
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n) : Entity(n) {
+  explicit CustomEntity(const std::string &n) : Entity(n) {
     test_zero_arg_ = false;
     test_one_arg_ = false;
     test_two_args_ = false;
@@ -164,13 +164,13 @@ BOOST_AUTO_TEST_CASE(command_test) {
 
   /// Try to find the command 1_arg
   res = false;
-  Command *a_cmd = entity.getNewStyleCommand(vec_fname[0]);
+  entity.getNewStyleCommand(vec_fname[0]);
   BOOST_CHECK(true);
 
   /// Generate an exception by searching a command with an empty name.w
   std::string empty("");
   try {
-    a_cmd = entity.getNewStyleCommand(empty);
+    entity.getNewStyleCommand(empty);
   } catch (dynamicgraph::ExceptionFactory &aef) {
     res = (aef.getCode() == dynamicgraph::ExceptionFactory::UNREFERED_FUNCTION);
   }
diff --git a/tests/custom-entity.cpp b/tests/custom-entity.cpp
index 896d76fd14662fc1ebed4abd584f872b39ef0c83..e76217816f023623a6dd29524bf838cf6ee6426f 100644
--- a/tests/custom-entity.cpp
+++ b/tests/custom-entity.cpp
@@ -19,7 +19,7 @@ struct CustomEntity : public dynamicgraph::Entity {
 
   virtual const std::string &getClassName() const { return CLASS_NAME; }
 
-  CustomEntity(const std::string n) : Entity(n) {}
+  explicit CustomEntity(const std::string &n) : Entity(n) {}
 
   virtual ~CustomEntity() {}
 
diff --git a/tests/debug-logger-winit.cpp b/tests/debug-logger-winit.cpp
index cd88551b56ba5d746d47c397615d23ed101d1ff9..9f53a3993fdf813fc8cd980edce08fb66d0bcabb 100644
--- a/tests/debug-logger-winit.cpp
+++ b/tests/debug-logger-winit.cpp
@@ -32,7 +32,7 @@ class CustomEntity : public Entity {
 public:
   static const std::string CLASS_NAME;
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n) : Entity(n) {
+  explicit CustomEntity(const std::string &n) : Entity(n) {
     logger_.setTimeSample(0.001);
     logger_.setStreamPrintPeriod(0.005);
     logger_.setVerbosity(VERBOSITY_ALL);
@@ -62,10 +62,7 @@ DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(CustomEntity, "CustomEntity");
 } // namespace dynamicgraph
 
 BOOST_AUTO_TEST_CASE(debug_logger_wrong_initialization) {
-  std::ofstream of;
   dynamicgraph::RealTimeLogger::instance();
-  // of.open("/tmp/dg-LOGS.txt",std::ofstream::out|std::ofstream::app);
-  //  dgADD_OSTREAM_TO_RTLOG (of);
 
   BOOST_CHECK_EQUAL(dynamicgraph::CustomEntity::CLASS_NAME, "CustomEntity");
 
diff --git a/tests/debug-logger.cpp b/tests/debug-logger.cpp
index 9a08c4ea7fd762335468bcf524e6eb52023c7c07..da1759b4dab62172745e763f4cec2817e693bb09 100644
--- a/tests/debug-logger.cpp
+++ b/tests/debug-logger.cpp
@@ -28,7 +28,7 @@ class CustomEntity : public Entity {
 public:
   static const std::string CLASS_NAME;
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n) : Entity(n) {
+  explicit CustomEntity(const std::string &n) : Entity(n) {
     logger_.setTimeSample(0.001);
     logger_.setStreamPrintPeriod(0.005);
     logger_.setVerbosity(VERBOSITY_ALL);
diff --git a/tests/debug-real-time-tracer.cpp b/tests/debug-real-time-tracer.cpp
index 97969008bda3e6dfccd3f9580fa8e36418cc7479..c24674670590c448d142daeef1bfa04c32821f3c 100644
--- a/tests/debug-real-time-tracer.cpp
+++ b/tests/debug-real-time-tracer.cpp
@@ -28,7 +28,7 @@ struct MyEntity : public dynamicgraph::Entity {
   dynamicgraph::SignalTimeDependent<double, int> m_sigdTimeDepSOUT;
   dynamicgraph::SignalTimeDependent<double, int> m_sigdTwoTimeDepSOUT;
 
-  MyEntity(const std::string &name)
+  explicit MyEntity(const std::string &name)
       : Entity(name),
         m_sigdSIN("MyEntity(" + name + ")::input(double)::in_double"),
         m_sigdTimeDepSOUT(boost::bind(&MyEntity::update, this, _1, _2),
diff --git a/tests/debug-trace.cpp b/tests/debug-trace.cpp
index 89ab01ed75dec9823eeffedc880677e9674be2bd..811ca2f22fa542add67698e07b12137c4faef339 100644
--- a/tests/debug-trace.cpp
+++ b/tests/debug-trace.cpp
@@ -28,7 +28,7 @@ class CustomEntity : public Entity {
 public:
   static const std::string CLASS_NAME;
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n) : Entity(n) {
+  explicit CustomEntity(const std::string &n) : Entity(n) {
     dynamicgraph::dgDEBUGFLOW.openFile("/tmp/dynamic-graph-traces.txt");
   }
   ~CustomEntity() {
@@ -53,10 +53,13 @@ DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(CustomEntity, "CustomEntity");
 BOOST_AUTO_TEST_CASE(testDebugTrace) {
   BOOST_CHECK_EQUAL(dynamicgraph::CustomEntity::CLASS_NAME, "CustomEntity");
 
-  dynamicgraph::CustomEntity &entity =
-      *(dynamic_cast<dynamicgraph::CustomEntity *>(
+  dynamicgraph::CustomEntity *ptr_entity =
+      (dynamic_cast<dynamicgraph::CustomEntity *>(
           dynamicgraph::FactoryStorage::getInstance()->newEntity("CustomEntity",
+
                                                                  "my-entity")));
+
+  dynamicgraph::CustomEntity &entity = *ptr_entity;
   entity.testDebugTrace();
 
   /// Copy the debug file into the oss_debug_file
@@ -89,4 +92,6 @@ BOOST_AUTO_TEST_CASE(testDebugTrace) {
   two_sub_string_identical = str_to_test == oss_debug_file.str();
 
   BOOST_CHECK(two_sub_string_identical);
+
+  delete ptr_entity;
 }
diff --git a/tests/debug-tracer.cpp b/tests/debug-tracer.cpp
index 738fcbfe12e24f30bf6c593213d4800b6b897e6d..21d489a4611a6721985193dd99c0fb8a0ec62b42 100644
--- a/tests/debug-tracer.cpp
+++ b/tests/debug-tracer.cpp
@@ -27,7 +27,7 @@ struct MyEntity : public dynamicgraph::Entity {
   dynamicgraph::SignalTimeDependent<double, int> m_sigdTimeDepSOUT;
   dynamicgraph::SignalTimeDependent<double, int> m_sigdTwoTimeDepSOUT;
 
-  MyEntity(const std::string &name)
+  explicit MyEntity(const std::string &name)
       : Entity(name),
         m_sigdSIN("MyEntity(" + name + ")::input(double)::in_double"),
         m_sigdTimeDepSOUT(boost::bind(&MyEntity::update, this, _1, _2),
diff --git a/tests/entity.cpp b/tests/entity.cpp
index 2a33275d2e0d592d105dc107bbd551ef59b33174..fecae28273c860a369b19ada59a37b9677528ae4 100644
--- a/tests/entity.cpp
+++ b/tests/entity.cpp
@@ -31,14 +31,15 @@ public:
 
   static const std::string CLASS_NAME;
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n)
+  explicit CustomEntity(const std::string &n)
       : Entity(n),
         m_sigdSIN(NULL, "CustomEntity(" + name + ")::input(double)::in_double"),
         m_sigdSIN2(NULL,
                    "CustomEntity(" + name + ")::input(double)::in_double"),
         m_sigdTimeDepSOUT(
             boost::bind(&CustomEntity::update, this, _1, _2), m_sigdSIN,
-            "CustomEntity(" + name + ")::input(double)::out_double") {}
+            "CustomEntity(" + name + ")::input(double)::out_double"),
+        m_value(0.0) {}
 
   ~CustomEntity() { entityDeregistration(); }
 
diff --git a/tests/exceptions.cpp b/tests/exceptions.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..40d43275ae90b757b150a176f98885df687ce49e
--- /dev/null
+++ b/tests/exceptions.cpp
@@ -0,0 +1,35 @@
+// Copyright 2020 Olivier Stasse
+// LAAS, CNRS
+
+#include <dynamic-graph/exception-abstract.h>
+#include <dynamic-graph/exception-factory.h>
+#include <dynamic-graph/exception-signal.h>
+#include <dynamic-graph/exception-traces.h>
+
+#include <sstream>
+
+#include <boost/test/output_test_stream.hpp>
+#include <boost/test/unit_test.hpp>
+#include <boost/test/unit_test_suite.hpp>
+
+using boost::test_tools::output_test_stream;
+using namespace dynamicgraph;
+
+BOOST_AUTO_TEST_CASE(exception_abstract) {
+  std::string msg_aea("Test exception abstract");
+  ExceptionAbstract aEA(10, msg_aea);
+
+  const char *aC = aEA.getMessage();
+  output_test_stream output;
+  output << aC;
+  BOOST_CHECK(output.is_equal("Test exception abstract"));
+
+  output << aEA;
+  BOOST_CHECK(
+      output.is_equal("AbstractError [#10]:  Test exception abstract\n"));
+
+  std::string msg_aet("Test exception abstract");
+  ExceptionTraces aET(ExceptionTraces::GENERIC, msg_aet);
+
+  output << aET;
+}
diff --git a/tests/factory.cpp b/tests/factory.cpp
index defe9e5a5bc6f47e3c0063a49fdf578baf78b7e1..7c8ca887c93688743914e5ac2bd6bc06fac602ca 100644
--- a/tests/factory.cpp
+++ b/tests/factory.cpp
@@ -18,7 +18,7 @@ class CustomEntity : public Entity {
 public:
   static const std::string CLASS_NAME;
   virtual const std::string &getClassName() const { return CLASS_NAME; }
-  CustomEntity(const std::string n) : Entity(n) {}
+  explicit CustomEntity(const std::string &n) : Entity(n) {}
 };
 const std::string CustomEntity::CLASS_NAME = "CustomEntity";
 } // namespace dynamicgraph
diff --git a/tests/pool.cpp b/tests/pool.cpp
index 057235e02bc314b428ac1b0c7db490c86fa43b2c..5dda229079b291fee62c65cd9b2bf3d9810c464a 100644
--- a/tests/pool.cpp
+++ b/tests/pool.cpp
@@ -23,7 +23,7 @@ struct MyEntity : public dynamicgraph::Entity {
   dynamicgraph::SignalPtr<double, int> m_sigdSIN;
   dynamicgraph::SignalTimeDependent<double, int> m_sigdTimeDepSOUT;
 
-  MyEntity(const std::string &name)
+  explicit MyEntity(const std::string &name)
       : Entity(name),
         m_sigdSIN(NULL, "MyEntity(" + name + ")::input(double)::in_double"),
         m_sigdTimeDepSOUT(boost::bind(&MyEntity::update, this, _1, _2),
diff --git a/tests/signal-all.cpp b/tests/signal-all.cpp
index 0cb56e50867e7773abef755b03bf0cd60ec1fd68..899130f030de83e229d5d8f83392df94acf5d820 100644
--- a/tests/signal-all.cpp
+++ b/tests/signal-all.cpp
@@ -76,6 +76,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::PLUG_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   res = false;
   try {
@@ -83,6 +84,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::PLUG_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   res = false;
   try {
@@ -101,6 +103,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::SET_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   /// get a value
   res = false;
@@ -110,6 +113,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::SET_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   /// Trigger revaluation of the signal
   res = false;
@@ -118,6 +122,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::SET_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   /// Trace the signal
   res = false;
@@ -126,6 +131,7 @@ BOOST_AUTO_TEST_CASE(test_base) {
   } catch (const ExceptionSignal &aea) {
     res = (aea.getCode() == ExceptionSignal::SET_IMPOSSIBLE);
   }
+  BOOST_CHECK(res);
 
   /// Display the signal
   sigB.display(output);
@@ -142,7 +148,7 @@ BOOST_AUTO_TEST_CASE(test_cast_helper) {
     std::istringstream iss_fail;
     iss.str("test");
     defaultCR.cast(iss_fail);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     // Take int, not string
   }
 }
diff --git a/tests/signal-cast-registerer.cpp b/tests/signal-cast-registerer.cpp
index 99f145a6a8a5c3d4c936c8957d29e9e9b29984bc..3a9c4a7183421a4e6086bab623d431a9094760ac 100644
--- a/tests/signal-cast-registerer.cpp
+++ b/tests/signal-cast-registerer.cpp
@@ -171,7 +171,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("test");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[0] != \"[\"";
   }
 
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("[test");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[1] != %i";
   }
 
@@ -187,7 +187,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("[5[");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[2] != \"]\"";
   }
 
@@ -195,7 +195,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("[5]test");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[3] != \"(\"";
   }
 
@@ -203,7 +203,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("[5](1, ");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     BOOST_ERROR("Can't happened");
   }
 
@@ -211,7 +211,7 @@ BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   try {
     std::istringstream ss("[5](1,2,3,4,5]");
     myVectorSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[-1] != \")\"";
   }
 }
@@ -232,7 +232,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("test");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[0] != \"[\"";
   }
 
@@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[test");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[1] != %i";
   }
 
@@ -248,7 +248,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5[");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[2] != \",\"";
   }
 
@@ -256,7 +256,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,c");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[3] != %i";
   }
 
@@ -264,7 +264,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,3[");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[4] != \"]\"";
   }
 
@@ -272,7 +272,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,3]test");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[5] != \"(\"";
   }
 
@@ -280,7 +280,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,3](test");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[6] != \"(\"";
   }
 
@@ -288,7 +288,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,3]((1,");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     BOOST_ERROR("Can't happened");
   }
 
@@ -296,7 +296,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,3]((1,2,3]");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << ("ss[6+n] != \")\"");
   }
 
@@ -304,7 +304,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,1]((1)(2)(3[");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[5] != \")\"";
   }
 
@@ -312,7 +312,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[5,1]((1)(2)(3)[");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[5] != \")\"";
   }
 
@@ -320,7 +320,7 @@ BOOST_AUTO_TEST_CASE(custom_matrix_registerer) {
   try {
     std::istringstream ss("[3,1]((1)(2),(3)[");
     myMatrixSignal.set(ss);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     std::cout << "Test passed : ss[5] != \")\" and ignore \",\"";
   }
 
diff --git a/tests/signal-ptr.cpp b/tests/signal-ptr.cpp
index 51a8c5586314a847bf3fd938f29270ae6d715ec0..de90b79847781e903c9d4f3b1b00f8cbd6088019 100644
--- a/tests/signal-ptr.cpp
+++ b/tests/signal-ptr.cpp
@@ -34,7 +34,8 @@ public:
   std::list<sigDouble_t *> inputsig;
   std::list<sigString_t *> inputsigV;
 
-  DummyClass(const std::string &n) : proname(n), res(), call(), timedata() {}
+  explicit DummyClass(const std::string &n)
+      : proname(n), res(), call(), timedata() {}
 
   T &fun(T &res, int t) {
     ++call;
@@ -78,7 +79,7 @@ BOOST_AUTO_TEST_CASE(normal_cst_test) {
 
   try {
     sigNotPlug.getPtr();
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     cout << "Error catch" << std::endl;
   }
 
@@ -102,7 +103,8 @@ BOOST_AUTO_TEST_CASE(normal_cst_test) {
   BOOST_CHECK(res);
 
   /// Test needUpdate without plug
-  res = sigNotPlug.needUpdate(5);
+  res = (sigNotPlug.needUpdate(5) == false);
+  BOOST_CHECK(res);
   sigNotPlug.getTime();
   output_test_stream output;
   sigNotPlug.display(output);
@@ -147,7 +149,7 @@ BOOST_AUTO_TEST_CASE(normal_test) {
   std::string test = "test";
   try {
     sig.getClassName(test);
-  } catch (ExceptionSignal e) {
+  } catch (ExceptionSignal &e) {
     e.getExceptionName();
   }
   BOOST_CHECK(true);
diff --git a/tests/signal-time-dependent.cpp b/tests/signal-time-dependent.cpp
index a273bcf70092997ca878f7f3913200c6e6e3b93b..4477b59f56d5854dfb76a13922b1ff67c99247ae 100644
--- a/tests/signal-time-dependent.cpp
+++ b/tests/signal-time-dependent.cpp
@@ -22,7 +22,8 @@ public:
   std::list<sigDouble_t *> inputsig;
   std::list<sigString_t *> inputsigV;
 
-  DummyClass(const std::string &n) : proname(n), res(), call(), timedata() {}
+  explicit DummyClass(const std::string &n)
+      : proname(n), res(), call(), timedata() {}
 
   T &fun(T &res, int t) {
     ++call;