diff --git a/libIRDB/test/calc_conflicts.cpp b/libIRDB/test/calc_conflicts.cpp
index 49de2f8d4d17d2ec70bafe46632921f838cdf593..b501e0b090ec23b57ff8f0a2a226fc68ae2c6f2e 100644
--- a/libIRDB/test/calc_conflicts.cpp
+++ b/libIRDB/test/calc_conflicts.cpp
@@ -186,14 +186,14 @@ main(int argc, char* argv[])
 
 	assert(virp && pidp);
 
-	cout<<"# ATTRIBUTE num_addresses="<<std::dec<<num_addresses<<endl;
-	cout<<"# ATTRIBUTE num_conflicts="<<std::dec<<num_conflicts<<endl;
-	cout<<"# ATTRIBUTE total_conflicts="<<std::dec<<tot_conflicts<<endl;
-	cout<<"# ATTRIBUTE ave_conflicts="<<std::dec<<((double)tot_conflicts/num_addresses)<<endl;
-	cout<<"# ATTRIBUTE ave_bytes_conflicted="<<std::dec<<((double)num_conflicts/num_addresses)<<endl;
-	cout <<"# ATTRIBUTE total_executable_bytes = "<< std::dec << total_bytes<<endl;
-	cout<<"# ATTRIBUTE ave_conflicts_within_exe="<<std::dec<<((double)tot_conflicts/total_bytes)<<endl;
-	cout<<"# ATTRIBUTE ave_bytes_conflicted_within_exe="<<std::dec<<((double)num_conflicts/total_bytes)<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::num_addresses="<<std::dec<<num_addresses<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::num_conflicts="<<std::dec<<num_conflicts<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::total_conflicts="<<std::dec<<tot_conflicts<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::ave_conflicts="<<std::dec<<((double)tot_conflicts/num_addresses)<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::ave_bytes_conflicted="<<std::dec<<((double)num_conflicts/num_addresses)<<endl;
+	cout <<"# ATTRIBUTE calc_conflicts::total_executable_bytes = "<< std::dec << total_bytes<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::ave_conflicts_within_exe="<<std::dec<<((double)tot_conflicts/total_bytes)<<endl;
+	cout<<"# ATTRIBUTE calc_conflicts::ave_bytes_conflicted_within_exe="<<std::dec<<((double)num_conflicts/total_bytes)<<endl;
 
 
 	delete virp;
diff --git a/libIRDB/test/fill_in_indtargs.cpp b/libIRDB/test/fill_in_indtargs.cpp
index 48ff984b1ae9ecb850bc460e165c34f43c30105e..6bc401f9e1d39ba92d40629a730808dcd982840b 100644
--- a/libIRDB/test/fill_in_indtargs.cpp
+++ b/libIRDB/test/fill_in_indtargs.cpp
@@ -2003,7 +2003,7 @@ ICFS_t* setup_call_hellnode(FileIR_t* firp, EXEIO::exeio* elfiop)
 
 	ICFS_t* ret=setup_hellnode(firp,elfiop,allowed);
 
-	cout<<"#ATTRIBUTE call_hellnode_size="<<dec<<ret->size()<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::call_hellnode_size="<<dec<<ret->size()<<endl;
 	return ret;
 
 }
@@ -2046,7 +2046,7 @@ ICFS_t* setup_jmp_hellnode(FileIR_t* firp, EXEIO::exeio* elfiop)
 	 */
 
 	ICFS_t* ret=setup_hellnode(firp,elfiop,allowed);
-	cout<<"#ATTRIBUTE jmp_hellnode_size="<<dec<<ret->size()<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::jmp_hellnode_size="<<dec<<ret->size()<<endl;
 	return ret;
 
 }
@@ -2095,9 +2095,9 @@ ICFS_t* setup_ret_hellnode(FileIR_t* firp, EXEIO::exeio* elfiop)
 	 */
 
 	ICFS_t* ret_hell_node=setup_hellnode(firp,elfiop,allowed);
-	cout<<"#ATTRIBUTE basicret_hellnode_size="<<dec<<ret_hell_node->size()<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::basicret_hellnode_size="<<dec<<ret_hell_node->size()<<endl;
 
-	cout<<"#ATTRIBUTE fullret_hellnode_size="<<dec<<ret_hell_node->size()<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::fullret_hellnode_size="<<dec<<ret_hell_node->size()<<endl;
 	return ret_hell_node;
 }
 
@@ -2250,7 +2250,7 @@ void setup_icfs(FileIR_t* firp, EXEIO::exeio* elfiop)
 
 	}
 
-	cout<<"#ATTRIBUTE total_ibtas_set="<<dec<<total_ibta_set<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::total_ibtas_set="<<dec<<total_ibta_set<<endl;
 
 	if(getenv("ICFS_VERBOSE")!=NULL)
 		print_icfs(firp);
@@ -2460,16 +2460,16 @@ void unpin_elf_tables(FileIR_t *firp, int do_unpin_opt)
 	{
 		string name=it->first;
 		int count=it->second;
-		cout<<"#ATTRIBUTE unpin_count_"<<name<<"="<<dec<<count<<endl;
+		cout<<"# ATTRIBUTE fill_in_indtargs::unpin_count_"<<name<<"="<<dec<<count<<endl;
 		total_elftable_unpins++;
 	}
 	for(map<string,int>::iterator it=missed_unpins.begin(); it!=missed_unpins.end(); ++it)
 	{
 		string name=it->first;
 		int count=it->second;
-		cout<<"#ATTRIBUTE missed_unpin_count_"<<name<<"="<<dec<<count<<endl;
+		cout<<"# ATTRIBUTE fill_in_indtargs::hmissed_unpin_count_"<<name<<"="<<dec<<count<<endl;
 	}
-	cout<<"#ATTRIBUTE total_elftable_unpins="<<dec<<total_elftable_unpins<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::total_elftable_unpins="<<dec<<total_elftable_unpins<<endl;
 
 }
 
@@ -2625,8 +2625,8 @@ void unpin_switches(FileIR_t *firp, int do_unpin_opt)
 		}
 		
         }
-	cout<<"#ATTRIBUTE switch_type3_pins="<<dec<<type3_pins<<endl;
-	cout<<"#ATTRIBUTE switch_type3_unpins="<<dec<<type3_unpins<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::switch_type3_pins="<<dec<<type3_pins<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::switch_type3_unpins="<<dec<<type3_unpins<<endl;
 }
 
 void print_unpins(FileIR_t *firp)
@@ -2731,12 +2731,12 @@ void fill_in_indtargs(FileIR_t* firp, exeio* elfiop, std::list<virtual_offset_t>
 	
 
 	cout<<"========================================="<<endl;
-	cout<<"# ATTRIBUTE total_indirect_targets="<<std::dec<<targets.size()<<endl;
+	cout<<"# ATTRIBUTE fill_in_indtargs::total_indirect_targets="<<std::dec<<targets.size()<<endl;
 	print_targets();
 	cout<<"========================================="<<endl;
 
 	cout<<"========================================="<<endl;
-	cout<<"# ATTRIBUTE oneline_indirect_targets=";
+	cout<<"# ATTRIBUTE fill_in_indtargs::oneline_indirect_targets=";
 	print_targets_oneline();
 	cout<<"========================================="<<endl;
 
diff --git a/libIRDB/test/find_strings.cpp b/libIRDB/test/find_strings.cpp
index 656fff09b9bb52c4616c59ed7329a7fcf6ae87cc..727e5f04f69e4a92717d6391e63746ebf7af4993 100644
--- a/libIRDB/test/find_strings.cpp
+++ b/libIRDB/test/find_strings.cpp
@@ -534,7 +534,7 @@ void find_strings(VariantID_t *pidp, FileIR_t* firp)
 
 	free_elf_info(ei);
 
-	cout << "# ATTRIBUTE filename="<<firp->GetFile()->GetURL()<<endl;
+	cout << "# ATTRIBUTE find_strings::filename="<<firp->GetFile()->GetURL()<<endl;
 }
 
 main(int argc, char* argv[])
diff --git a/libIRDB/test/fix_calls.cpp b/libIRDB/test/fix_calls.cpp
index 9689794cd803ea786f13824122af2b85d3799a07..ce592a7e97af928f1c062f516275c7dbc80b680d 100644
--- a/libIRDB/test/fix_calls.cpp
+++ b/libIRDB/test/fix_calls.cpp
@@ -849,20 +849,20 @@ void fix_all_calls(FileIR_t* firp, bool print_stats, bool fix_all)
 
 	if(print_stats)
 	{
-		cout << "# ATTRIBUTE fixed_calls="<<std::dec<<fixed_calls<<endl;
-		cout << "# ATTRIBUTE no_fix_needed_calls="<<std::dec<<not_fixed_calls<<endl;
-		cout << "# ATTRIBUTE other_instructions="<<std::dec<<not_calls<<endl;
-		cout << "# ATTRIBUTE fixed_ratio="<<std::dec<<(fixed_calls/((float)(not_fixed_calls+fixed_calls)))<<endl;
-		cout << "# ATTRIBUTE remaining_ratio="<<std::dec<<(not_fixed_calls/((float)(not_fixed_calls+fixed_calls+not_calls)))<<endl;
-		cout << "# ATTRIBUTE no_target_insn="<<std::dec<< no_target_insn << endl;
-		cout << "# ATTRIBUTE no_fallthrough_insn="<<std::dec<< no_fallthrough_insn << endl;
-		cout << "# ATTRIBUTE target_not_in_function="<<std::dec<< target_not_in_function << endl;
-		cout << "# ATTRIBUTE call_to_not_entry="<<std::dec<< call_to_not_entry << endl;
-		cout << "# ATTRIBUTE thunk_check="<<std::dec<< thunk_check << endl;
-		cout << "# ATTRIBUTE found_pattern="<<std::dec<< found_pattern << endl;
-		cout << "# ATTRIBUTE in_ehframe="<<std::dec<< in_ehframe << endl;
-		cout << "# ATTRIBUTE no_fix_for_ib="<<std::dec<< no_fix_for_ib << endl;
-		cout << "# ATTRIBUTE no_fix_for_safefn="<<std::dec<< no_fix_for_safefn << endl;
+		cout << "# ATTRIBUTE fix_calls::fixed_calls="<<std::dec<<fixed_calls<<endl;
+		cout << "# ATTRIBUTE fix_calls::no_fix_needed_calls="<<std::dec<<not_fixed_calls<<endl;
+		cout << "# ATTRIBUTE fix_calls::other_instructions="<<std::dec<<not_calls<<endl;
+		cout << "# ATTRIBUTE fix_calls::fixed_ratio="<<std::dec<<(fixed_calls/((float)(not_fixed_calls+fixed_calls)))<<endl;
+		cout << "# ATTRIBUTE fix_calls::remaining_ratio="<<std::dec<<(not_fixed_calls/((float)(not_fixed_calls+fixed_calls+not_calls)))<<endl;
+		cout << "# ATTRIBUTE fix_calls::no_target_insn="<<std::dec<< no_target_insn << endl;
+		cout << "# ATTRIBUTE fix_calls::no_fallthrough_insn="<<std::dec<< no_fallthrough_insn << endl;
+		cout << "# ATTRIBUTE fix_calls::target_not_in_function="<<std::dec<< target_not_in_function << endl;
+		cout << "# ATTRIBUTE fix_calls::call_to_not_entry="<<std::dec<< call_to_not_entry << endl;
+		cout << "# ATTRIBUTE fix_calls::thunk_check="<<std::dec<< thunk_check << endl;
+		cout << "# ATTRIBUTE fix_calls::found_pattern="<<std::dec<< found_pattern << endl;
+		cout << "# ATTRIBUTE fix_calls::in_ehframe="<<std::dec<< in_ehframe << endl;
+		cout << "# ATTRIBUTE fix_calls::no_fix_for_ib="<<std::dec<< no_fix_for_ib << endl;
+		cout << "# ATTRIBUTE fix_calls::no_fix_for_safefn="<<std::dec<< no_fix_for_safefn << endl;
 		no_target_insn=0;
 		no_fallthrough_insn=0;
 		target_not_in_function=0;
diff --git a/libIRDB/test/ilr.cpp b/libIRDB/test/ilr.cpp
index 805ea9ba0db4adabda66cc911337c114738283ce..c5785ec36706ad1ea4042bac94e80c027a07c8f6 100644
--- a/libIRDB/test/ilr.cpp
+++ b/libIRDB/test/ilr.cpp
@@ -111,10 +111,10 @@ void do_ilr(VariantID_t *pidp, FileIR_t* firp)
 	firp->GetAddresses()=newaddressset;
 
 
-	cout << "# ATTRIBUTE filename="<<firp->GetFile()->GetURL()<<endl;
-	cout << "# ATTRIBUTE unmoved_instructions="<<std::dec<<unmoved_instr<<endl;
-	cout << "# ATTRIBUTE moved_instructions="<<std::dec<<moved_instr<<endl;
-	cout << "# ATTRIBUTE moved_ratio="<<std::dec<<(float)moved_instr/(moved_instr+unmoved_instr)<<endl;
+	cout << "# ATTRIBUTE ilr::filename="<<firp->GetFile()->GetURL()<<endl;
+	cout << "# ATTRIBUTE ilr::unmoved_instructions="<<std::dec<<unmoved_instr<<endl;
+	cout << "# ATTRIBUTE ilr::moved_instructions="<<std::dec<<moved_instr<<endl;
+	cout << "# ATTRIBUTE ilr::moved_ratio="<<std::dec<<(float)moved_instr/(moved_instr+unmoved_instr)<<endl;
 
 	cout<<"Writing variant "<<*pidp<<" back to database." << endl;
 	firp->WriteToDB();
diff --git a/libIRDB/test/split_eh_frame.cpp b/libIRDB/test/split_eh_frame.cpp
index 8b86fa8dfa9c72ce7766d18fd65fd2ca4c157c55..b42775aba3002b681be674f918389e6eb8a85a04 100644
--- a/libIRDB/test/split_eh_frame.cpp
+++ b/libIRDB/test/split_eh_frame.cpp
@@ -1983,9 +1983,9 @@ void split_eh_frame_impl_t<ptrsize>::build_ir() const
 		build_ir_insn(i);
 	}
 
-	cout<<"#ATTRIBUTE total_eh_programs_created="<<dec<<firp->GetAllEhPrograms().size()<<endl;
-	cout<<"#ATTRIBUTE total_eh_programs_reused="<<dec<<reusedpgms<<endl;
-	cout<<"#ATTRIBUTE total_eh_programs="<<dec<<firp->GetAllEhPrograms().size()+reusedpgms<<endl;
+	cout<<"# ATTRIBUTE split_eh::total_eh_programs_created="<<dec<<firp->GetAllEhPrograms().size()<<endl;
+	cout<<"# ATTRIBUTE split_eh::total_eh_programs_reused="<<dec<<reusedpgms<<endl;
+	cout<<"# ATTRIBUTE split_eh::total_eh_programs="<<dec<<firp->GetAllEhPrograms().size()+reusedpgms<<endl;
 
 	remove_scoop(eh_frame_scoop);
 	remove_scoop(eh_frame_hdr_scoop);
diff --git a/libtransform/src/integertransform.cpp b/libtransform/src/integertransform.cpp
index 04417d1af9d62a5fdc19bec3ab61dfea3f6d6916..b72c5f7941fc2a8a4f5ff688466dabf2bc06c415 100644
--- a/libtransform/src/integertransform.cpp
+++ b/libtransform/src/integertransform.cpp
@@ -118,31 +118,31 @@ void IntegerTransform::logStats()
 {
 	std::string fileURL = getFileIR()->GetFile()->GetURL();	
 
-	std::cerr << "# ATTRIBUTE file_name=" << fileURL << std::endl;
-	std::cerr << "# ATTRIBUTE num_annotations_processed=" << dec << m_numAnnotations << std::endl;
-	std::cerr << "# ATTRIBUTE num_idioms=" << m_numIdioms << std::endl;
-	std::cerr << "# ATTRIBUTE num_blacklisted=" << m_numBlacklisted << std::endl;
-	std::cerr << "# ATTRIBUTE num_benign=" << m_numBenign << std::endl;
-
-	std::cerr << "# ATTRIBUTE num_total_overflows=" << m_numTotalOverflows << std::endl;
-	std::cerr << "# ATTRIBUTE num_overflows_instrumented=" << m_numOverflows << std::endl;
-	std::cerr << "# ATTRIBUTE num_overflows_skipped=" << m_numOverflowsSkipped << std::endl;
-	std::cerr << "# ATTRIBUTE overflows_coverage=" << (double)m_numOverflows/(double)m_numTotalOverflows << std::endl;
-
-	std::cerr << "# ATTRIBUTE num_total_underflows=" << m_numTotalUnderflows << std::endl;
-	std::cerr << "# ATTRIBUTE num_underflows_instrumented=" << m_numUnderflows << std::endl;
-	std::cerr << "# ATTRIBUTE num_underflows_skipped=" << m_numUnderflowsSkipped << std::endl;
-	std::cerr << "# ATTRIBUTE underflows_coverage=" << (double)m_numUnderflows/(double)m_numTotalUnderflows << std::endl;
-
-	std::cerr << "# ATTRIBUTE num_total_truncations=" << m_numTotalTruncations << std::endl;
-	std::cerr << "# ATTRIBUTE num_truncations_instrumented=" << m_numTruncations << std::endl;
-	std::cerr << "# ATTRIBUTE num_truncations_skipped=" << m_numTruncationsSkipped << std::endl;
-	std::cerr << "# ATTRIBUTE truncation_coverage=" << (double)m_numTruncations/(double)m_numTotalTruncations << std::endl;
-
-	std::cerr << "# ATTRIBUTE num_total_signedness=" << m_numTotalSignedness << std::endl;
-	std::cerr << "# ATTRIBUTE num_signedness_instrumented=" << m_numSignedness << std::endl;
-	std::cerr << "# ATTRIBUTE num_signedness_skipped=" << m_numSignednessSkipped << std::endl;
-	std::cerr << "# ATTRIBUTE signedness_coverage=" << (double)m_numSignedness/(double)m_numTotalSignedness << std::endl;
-
-	std::cerr << "# ATTRIBUTE num_floating_point=" << m_numFP << std::endl;
+	std::cerr << "# ATTRIBUTE intx::file_name=" << fileURL << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_annotations_processed=" << dec << m_numAnnotations << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_idioms=" << m_numIdioms << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_blacklisted=" << m_numBlacklisted << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_benign=" << m_numBenign << std::endl;
+
+	std::cerr << "# ATTRIBUTE intx::num_total_overflows=" << m_numTotalOverflows << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_overflows_instrumented=" << m_numOverflows << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_overflows_skipped=" << m_numOverflowsSkipped << std::endl;
+	std::cerr << "# ATTRIBUTE intx::overflows_coverage=" << (double)m_numOverflows/(double)m_numTotalOverflows << std::endl;
+
+	std::cerr << "# ATTRIBUTE intx::num_total_underflows=" << m_numTotalUnderflows << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_underflows_instrumented=" << m_numUnderflows << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_underflows_skipped=" << m_numUnderflowsSkipped << std::endl;
+	std::cerr << "# ATTRIBUTE intx::underflows_coverage=" << (double)m_numUnderflows/(double)m_numTotalUnderflows << std::endl;
+
+	std::cerr << "# ATTRIBUTE intx::num_total_truncations=" << m_numTotalTruncations << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_truncations_instrumented=" << m_numTruncations << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_truncations_skipped=" << m_numTruncationsSkipped << std::endl;
+	std::cerr << "# ATTRIBUTE intx::truncation_coverage=" << (double)m_numTruncations/(double)m_numTotalTruncations << std::endl;
+
+	std::cerr << "# ATTRIBUTE intx::num_total_signedness=" << m_numTotalSignedness << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_signedness_instrumented=" << m_numSignedness << std::endl;
+	std::cerr << "# ATTRIBUTE intx::num_signedness_skipped=" << m_numSignednessSkipped << std::endl;
+	std::cerr << "# ATTRIBUTE intx::signedness_coverage=" << (double)m_numSignedness/(double)m_numTotalSignedness << std::endl;
+
+	std::cerr << "# ATTRIBUTE intx::num_floating_point=" << m_numFP << std::endl;
 }
diff --git a/plugins_install/output_spec.sh b/plugins_install/output_spec.sh
index 16f48616be461bbfdbfcc457f0954eadf8123bb2..d0696a161cc494e3d3e38bfee365dea9791495d1 100755
--- a/plugins_install/output_spec.sh
+++ b/plugins_install/output_spec.sh
@@ -24,10 +24,10 @@ main()
 		exit 1
 	fi
 
-	echo "#ATTRIBUTE backend=$backend" $i >  $file
-	echo "#ATTRIBUTE peasoup_dir=$newdir" $i >>  $file
-	echo "#ATTRIBUTE output_file=$stratafied_exe" $i >>  $file
-	echo "#ATTRIBUTE pwd=$PWD" $i >>  $file
+	echo "# ATTRIBUTE backend=$backend" $i >  $file
+	echo "# ATTRIBUTE peasoup_dir=$newdir" $i >>  $file
+	echo "# ATTRIBUTE output_file=$stratafied_exe" $i >>  $file
+	echo "# ATTRIBUTE pwd=$PWD" $i >>  $file
 
 
 }
diff --git a/tools/simple_cdi/scdi_instr.cpp b/tools/simple_cdi/scdi_instr.cpp
index e8765e58faa1084b08f493416b1f016fb90e3775..8cbb3b438e295e64132bd6f57ef591cbf341b0f9 100644
--- a/tools/simple_cdi/scdi_instr.cpp
+++ b/tools/simple_cdi/scdi_instr.cpp
@@ -377,20 +377,20 @@ bool SimpleCDI_Instrument::convert_ibs()
 void SimpleCDI_Instrument::display_stats(std::ostream &out)
 {
 	float fraction = NAN;
-	out << "# ATTRIBUTE target_set_threshold=" << dec << target_set_threshold << endl;
-	out << "# ATTRIBUTE complete_ibts=" << dec << num_complete_ibts << endl;
-	out << "# ATTRIBUTE num_returns=" << num_returns << endl;
+	out << "# ATTRIBUTE scdi::target_set_threshold=" << dec << target_set_threshold << endl;
+	out << "# ATTRIBUTE scdi::complete_ibts=" << dec << num_complete_ibts << endl;
+	out << "# ATTRIBUTE scdi::num_returns=" << num_returns << endl;
 	if (num_complete_returns>0)
 		fraction = (float)num_complete_returns/num_returns;
-	out << "# ATTRIBUTE num_complete_returns=" << num_complete_returns << endl;
-	out << "# ATTRIBUTE complete_returns_fraction=" << fraction << endl;
-	out << "# ATTRIBUTE single_target_set_jumps=" << single_target_set_jumps << endl;
-	out << "# ATTRIBUTE single_target_set_returns=" << single_target_set_returns << endl;
+	out << "# ATTRIBUTE scdi::num_complete_returns=" << num_complete_returns << endl;
+	out << "# ATTRIBUTE scdi::complete_returns_fraction=" << fraction << endl;
+	out << "# ATTRIBUTE scdi::single_target_set_jumps=" << single_target_set_jumps << endl;
+	out << "# ATTRIBUTE scdi::single_target_set_returns=" << single_target_set_returns << endl;
 
 	fraction = NAN;
 	if (num_complete_ibts > 0)
 		fraction = (float)(single_target_set_returns)/num_returns;
-	out << "# ATTRIBUTE single_target_set_return_fraction=" << fraction << endl;
+	out << "# ATTRIBUTE scdi::single_target_set_return_fraction=" << fraction << endl;
 }
 
 /* CDI: control data isolation */