The prediction of software vulnerability requires crucial awareness during the software specification, design, development, and configuration to achieve less vulnerable and secure software. Software vulnerability prediction is the process of model development that can be beneficial for the early prediction of vulnerable components at various granularity levels such as file, class, and method. Machine learning and deep learning techniques are gaining popularity in developing vulnerability prediction models. This paper performs a systematic review of primary studies from 2000 to 2022 in the literature that used machine learning and deep learning techniques for software vulnerability prediction. In addition to this, the paper understands the concept of resampling methods to handle imbalanced dataset problems; summarizes the important hyperparameter optimization methods to tune hyperparameters; explains the types of features, data pre-processing techniques, dimensionality reduction, and feature selection techniques. Furthermore, encapsulating the comparison of ML/DL techniques and highlighting the best technique is performed. The paper identifies seventy-seven research studies that use thirty-two machine learning and five deep learning techniques. Additionally, it identifies five different feature types, data pre-processing methods, thirty-seven datasets, nine data balancing techniques, twenty-six performance measures, six hyperparameter optimization methods, and the ranges of hyperparameters. Finally, guidelines for researchers to increase the productivity of software vulnerability prediction models have been illustrated in the paper.