Countering code-injection attacks with instruction-set randomization | Synapse