1. A method of regulating an execution of a program by a microprocessor having a plurality of instruction addresses, at least one of said instruction addresses having at least one instruction, at least one of said instructions being a control transfer instruction in which execution of said control transfer instruction effecting a transfer of control to a target instruction address, the method comprising: before said control transfer instruction transfers control to a target instruction address, checking that the instruction at said target instruction address satisfies a control transfer criterion, and predicating the execution of the program based on a result of the check.