1. A programmable processor, comprising: a communication port configured to securely receive a checkpoint communication defining a location of a checkpoint, to communicate a control flow signature, and to securely communicate a signature validation message; a checkpoint enabling module, configured to dynamically insert a call to a function into a program having a program size being executed by the programmable processor at the checkpoint in response to a respective checkpoint communication, wherein the dynamically inserted call is inserted at the checkpoint without changing the program code size, and is associated with a recall instruction which restores a continuity of program execution of the program being executed by the programmable processor if a corresponding signature validation message is received; and a signature generator configured to generate the call to the function, which generates the control flow signature in response to the dynamically inserted call to the function at the location of the checkpoint.