How to Analyze Code for Vulnerabilities