An Assessment of Techniques for Proving Program Correctness | Synapse