Using programmer-written compiler extensions to catch security holes | Synapse