Predicting software vulnerabilities with unsupervised learning techniques