diff --git a/tools/transforms/PNTransformDriver.cpp b/tools/transforms/PNTransformDriver.cpp
index 7d4ea72587813b92879c66db7073978562691920..bd4b78e72a88dbf026a4d5a33f81bc091a80b0a2 100644
--- a/tools/transforms/PNTransformDriver.cpp
+++ b/tools/transforms/PNTransformDriver.cpp
@@ -1819,11 +1819,13 @@ void PNTransformDriver::Print_Report()
 	for(unsigned int i=0;i<history_keys.size();++i)
 	{
 		cerr<<"\tLayout: "<<history_keys[i]<<endl;
+		cerr<<"# ATTRIBUTE pnxform::Layout="<<history_keys[i]<<endl;
 		vector<PNStackLayout*> layouts = transformed_history[history_keys[i]];
 
 		map<int,int> obj_histogram;
 
 		cerr<<"\t\tTotal Transformed: "<<layouts.size()<<endl;
+		cerr<<"# ATTRIBUTE pnxform::Total_Transformed="<<layouts.size()<<endl;
 
 		int p1reductions = 0;
 		double mem_obj_avg = 0.0;
@@ -1862,6 +1864,7 @@ void PNTransformDriver::Print_Report()
 		}
 
 		cerr<<"\t\tP1 Reductions: "<<p1reductions<<endl;
+		cerr<<"# ATTRIBUTE pnxform::P1_Reductions="<<p1reductions<<endl;
 	}
 
 	cerr<<"----------------------------------------------"<<endl;
@@ -1885,17 +1888,23 @@ void PNTransformDriver::Print_Report()
 	cerr<<"Transformable Functions \t"<<(total_funcs-not_transformable.size())<<endl;
 	cerr<<"Transformed \t\t\t"<<total_transformed<<endl;
 
-	cerr<<"pnxform::Non-Blacklisted Functions \t"<<total_funcs<<endl;
-	cerr<<"pnxform::Blacklisted Functions \t\t"<<blacklist_funcs<<endl;
-	cerr<<"pnxform::Sanitized Functions \t\t"<<sanitized_funcs<<endl;
-	cerr<<"pnxform::Push/Pop Sanitized Functions \t\t"<<push_pop_sanitized_funcs<<endl;
-	cerr<<"pnxform::Cond Frame Sanitized Functions \t\t"<<cond_frame_sanitized_funcs<<endl;
-	cerr<<"pnxform::EH-land-pad-not-in-func Sanitized Functions \t\t"<<eh_sanitized<<endl;
-	cerr<<"pnxform::Bad Variadic Sanitized Functions \t\t"<<push_pop_sanitized_funcs<<endl;
-	cerr<<"pnxform::Jump table Sanitized Functions \t\t"<<jump_table_sanitized<<endl;
-	cerr<<"pnxform::PIC Jump table Sanitized Functions \t\t"<<jump_table_sanitized<<endl;
-	cerr<<"pnxform::Transformable Functions \t"<<(total_funcs-not_transformable.size())<<endl;
-	cerr<<"pnxform::Transformed \t\t\t"<<total_transformed<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Functions_validated_exceeding_threshold="<<high_coverage_count<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Functions_validated_ with_ nonZero_coverage_below_or_ equal_to_threshold="<<low_coverage_count<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Functions_modified_with_no_coverage="<<no_coverage_count<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Total_recursive_validations_performed="<<validation_count<<endl;
+
+	cerr<<"# ATTRIBUTE pnxform::NonBlacklisted_Functions="<<total_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Blacklisted Functions="<<blacklist_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Sanitized_Functions="<<sanitized_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::PushPop_Sanitized_Functions="<<push_pop_sanitized_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::CondFrameSanitized_Functions="<<cond_frame_sanitized_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::EH_land_pad_not_in_FuncSanitizedFunctions="<<eh_sanitized<<endl;
+	cerr<<"# ATTRIBUTE pnxform::BadVariadicSanitizedFunctions="<<push_pop_sanitized_funcs<<endl;
+	cerr<<"# ATTRIBUTE pnxform::JumpTableSanitized_Functions="<<jump_table_sanitized<<endl;
+	cerr<<"# ATTRIBUTE pnxform::PICJumpTableSanitized_Functions="<<jump_table_sanitized<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Transformables_Functions="<<(total_funcs-not_transformable.size())<<endl;
+	cerr<<"# ATTRIBUTE pnxform::Transformed="<<total_transformed<<endl;
+	cerr<<"# ATTRIBUTE pnxform::PctTransformable_Transformed="<<std::fixed<<((double)(total_transformed)/(double)(total_funcs-not_transformable.size()))<<endl;
 }