User Defined Program Integrity