diff --git a/include/dynamic-graph/command.h b/include/dynamic-graph/command.h
index b8727af9008dd94c867954abf0a76577fbbc28d0..832bf4aa3a19338a4a20d77c6703298a3d4590c4 100644
--- a/include/dynamic-graph/command.h
+++ b/include/dynamic-graph/command.h
@@ -51,11 +51,11 @@ namespace dynamicgraph {
       Command(Entity& entity, const std::vector<Value::Type>& valueTypes,
 	      const std::string& docstring);
       /// Return the value type of all parameters
-      const std::vector<Value::Type> valueTypes() const;
+      const std::vector<Value::Type>& valueTypes() const;
       /// Set parameter values
       void setParameterValues(const std::vector<Value>& values);
       /// Get parameter values
-      const std::vector<Value> getParameterValues() const;
+      const std::vector<Value>& getParameterValues() const;
       /// Execute the command after checking parameters
       Value execute();
       /// Get a reference to the Entity owning this command
diff --git a/include/dynamic-graph/tracer-real-time.h b/include/dynamic-graph/tracer-real-time.h
index d89291fdacd18d43e6d135c0f6d6418cd405ac48..a2cd195841661102fc94baa30c1754206125330c 100644
--- a/include/dynamic-graph/tracer-real-time.h
+++ b/include/dynamic-graph/tracer-real-time.h
@@ -54,7 +54,7 @@ namespace dynamicgraph
   {
     DYNAMIC_GRAPH_ENTITY_DECL ();
   public:
-    TracerRealTime (const std::string n);
+    TracerRealTime (const std::string & n);
     virtual ~TracerRealTime ()
     {}
 
diff --git a/src/command/command.cpp b/src/command/command.cpp
index 95fe2bbb64ae9abd320ff11194aed1fb0dcbec39..7cd2b512a553f70bcedb32a52a7763abb1f044ac 100644
--- a/src/command/command.cpp
+++ b/src/command/command.cpp
@@ -33,7 +33,7 @@ namespace dynamicgraph {
     {
     }
 
-    const std::vector<Value::Type> Command::valueTypes() const
+    const std::vector<Value::Type>& Command::valueTypes() const
     {
       return valueTypeVector_;
     }
@@ -60,7 +60,7 @@ namespace dynamicgraph {
       valueVector_ = values;
     }
 
-    const std::vector<Value> Command::getParameterValues() const
+    const std::vector<Value>& Command::getParameterValues() const
     {
       return valueVector_;
     }
diff --git a/src/traces/tracer-real-time.cpp b/src/traces/tracer-real-time.cpp
index b168157662d68f160de90c7e3049fd7be1b78dc4..dbc3dee7bac402f3b00ac926ce077af694fd6d77 100644
--- a/src/traces/tracer-real-time.cpp
+++ b/src/traces/tracer-real-time.cpp
@@ -112,7 +112,7 @@ empty  ()
 /* --------------------------------------------------------------------- */
 
 
-TracerRealTime::TracerRealTime( const std::string n )
+TracerRealTime::TracerRealTime( const std::string & n )
   :Tracer(n)
    ,bufferSize( BUFFER_SIZE_DEFAULT )
 {