Software vulnerabilities and secure code