Software vulnerabilities can lead to serious issues like system failures or data breaches. This thesis aims to improve automated methods for identifying, classifying, and fixing these vulnerabilities using deep learning (DL). The work introduces new techniques to detect and explain vulnerabilities better and offer more accurate repair suggestions. Tested on large datasets, these methods outperform current DL-based approaches and have been integrated into a free, user-friendly tool for developers working with C and C++ code.