diff --git a/alib2abstraction/src/abstraction/PackingAbstraction.cpp b/alib2abstraction/src/abstraction/PackingAbstraction.cpp
index 73a8b41f8a1ea59a99716034646240dc0f4e17ed..49bb50aaeae5cfc6c21a09e6bd81c88b5b12b2ea 100644
--- a/alib2abstraction/src/abstraction/PackingAbstraction.cpp
+++ b/alib2abstraction/src/abstraction/PackingAbstraction.cpp
@@ -5,7 +5,7 @@ template class abstraction::PackingAbstraction < 3 >;
 
 namespace abstraction {
 
-PackingAbstractionImpl::LazyValue::LazyValue ( const std::shared_ptr < abstraction::OperationAbstraction > & ref ) : m_lifeReference ( std::move ( ref ) ) {
+PackingAbstractionImpl::LazyValue::LazyValue ( const std::shared_ptr < abstraction::OperationAbstraction > & ref ) : m_lifeReference ( ref ) {
 }
 
 std::shared_ptr < abstraction::Value > PackingAbstractionImpl::LazyValue::asValue ( bool, bool ) {
diff --git a/alib2abstraction/src/abstraction/Value.cpp b/alib2abstraction/src/abstraction/Value.cpp
index b63c7ec2684ceba9956382f05d8fba4fd4df15d1..0edf1bedd5ca3308af17e0777ab381640f462d8b 100644
--- a/alib2abstraction/src/abstraction/Value.cpp
+++ b/alib2abstraction/src/abstraction/Value.cpp
@@ -28,8 +28,8 @@ std::shared_ptr < abstraction::Value > ValueReference::asValue ( bool move, bool
 	return getProxyAbstraction ( )->asValue ( move, isTemporary );
 }
 
-ValueReference::ValueReference ( std::shared_ptr < abstraction::Value > value, abstraction::TypeQualifiers::TypeQualifierSet typeQualifiers, bool isTemporary ) : m_value ( value ), m_typeQualifiers ( typeQualifiers ), m_isTemporary ( isTemporary ) {
-	if ( ! abstraction::TypeQualifiers::isRef ( typeQualifiers ) )
+ValueReference::ValueReference ( const std::shared_ptr < abstraction::Value > & value, abstraction::TypeQualifiers::TypeQualifierSet typeQualifiers, bool isTemporary ) : m_value ( value ), m_typeQualifiers ( typeQualifiers ), m_isTemporary ( isTemporary ) {
+	if ( ! abstraction::TypeQualifiers::isRef ( m_typeQualifiers ) )
 		throw std::domain_error ( "Reference qualifier required" );
 	if ( TypeQualifiers::isLvalueRef ( m_typeQualifiers ) && m_isTemporary )
 		throw std::domain_error ( "Lvalue references cannot be temporaries." );
diff --git a/alib2measure/src/measurements/MeasurementResults.cpp b/alib2measure/src/measurements/MeasurementResults.cpp
index 34a429230047dca57d8dfff866afacff4e5ee4c2..e26a3509a61afb80f7baf00b9ad5751e7453eafc 100644
--- a/alib2measure/src/measurements/MeasurementResults.cpp
+++ b/alib2measure/src/measurements/MeasurementResults.cpp
@@ -7,7 +7,7 @@ namespace measurements {
 
 MeasurementResults::MeasurementResults ( ) = default;
 
-MeasurementResults::MeasurementResults ( const measurements::stealth_vector < MeasurementFrame > & resultFrames ) : frames ( resultFrames ) {
+MeasurementResults::MeasurementResults ( measurements::stealth_vector < MeasurementFrame > resultFrames ) : frames ( std::move ( resultFrames ) ) {
 }
 
 void MeasurementResults::printAsList ( std::ostream & os ) const {
diff --git a/alib2measure/src/measurements/MeasurementResults.hpp b/alib2measure/src/measurements/MeasurementResults.hpp
index 5235ccb0016a8bfb4d3192d55d7daa5bb68889ca..f37cb936fff80f6fbc7b8da6446c73d94e88c5b7 100644
--- a/alib2measure/src/measurements/MeasurementResults.hpp
+++ b/alib2measure/src/measurements/MeasurementResults.hpp
@@ -22,7 +22,7 @@ struct MeasurementResults {
 	measurements::stealth_vector < MeasurementFrame > frames;
 
 	MeasurementResults ( );
-	MeasurementResults ( const measurements::stealth_vector < MeasurementFrame > & );
+	MeasurementResults ( measurements::stealth_vector < MeasurementFrame > );
 
 	void printAsList ( std::ostream & ) const;
 	void printAsTree ( std::ostream & ) const;
diff --git a/alib2measure/src/measurements/frames/CounterDataFrame.cpp b/alib2measure/src/measurements/frames/CounterDataFrame.cpp
index a2c7f2dcb6e79589a944330e7ab97d9785cb643d..decfa3b176ef2cc60af1f3c0f1fb5d0d77b14e6c 100644
--- a/alib2measure/src/measurements/frames/CounterDataFrame.cpp
+++ b/alib2measure/src/measurements/frames/CounterDataFrame.cpp
@@ -18,7 +18,7 @@ void CounterDataFrame::update ( unsigned, measurements::stealth_vector < Measure
 	// noop, updates take place during hint resolution
 }
 
-void CounterDataFrame::hint ( unsigned frameIdx, measurements::stealth_vector < MeasurementFrame > & frames, CounterHint hint ) {
+void CounterDataFrame::hint ( unsigned frameIdx, measurements::stealth_vector < MeasurementFrame > & frames, const CounterHint & hint ) {
 	if ( frames[frameIdx].type == measurements::Type::ROOT ) return;
 
 	CounterHint::value_type delta = 0;
diff --git a/alib2measure/src/measurements/frames/CounterDataFrame.hpp b/alib2measure/src/measurements/frames/CounterDataFrame.hpp
index 1766faab54c286e3f146e5c2b0ec2a26ea1f5548..792620fd94c0148acb8e70d0e87d3a0910924be8 100644
--- a/alib2measure/src/measurements/frames/CounterDataFrame.hpp
+++ b/alib2measure/src/measurements/frames/CounterDataFrame.hpp
@@ -30,7 +30,7 @@ struct CounterDataFrame {
 
 	static void init ( unsigned, measurements::stealth_vector < MeasurementFrame > & );
 	static void update ( unsigned, measurements::stealth_vector < MeasurementFrame > & );
-	static void hint ( unsigned, measurements::stealth_vector < MeasurementFrame > &, CounterHint );
+	static void hint ( unsigned, measurements::stealth_vector < MeasurementFrame > &, const CounterHint & );
 
 	static CounterDataFrame aggregate ( const std::vector < MeasurementFrame > & );
 };