Automated Vulnerability Prediction in Software Systems and Lightweight Identification of Design Patterns in Source Code