## 2 Related Work  
This section reviews relevant studies on code vulnerabilities and available datasets that support the detection of software vulnerabilities through machine learning techniques. Organizations and communities identify various vulnerabilities, each documented with a unique CVE ID for reference. Both security researchers and developers widely use CVE to report and reference weaknesses and vulnerabilities across multiple programming languages. Consequently, mobile application developers also rely on these references to identify vulnerabilities and address security issues within their source code. This work [14] introduces Defendroid, a system utilizing a blockchain-based federated neural network model and Explainable AI to achieve real-time detection of vulnerabilities within Android source code as it is being written. However, it seems that the current version of Defendroid is limited in its ability to detect complex vulnerability patterns that span multiple code segments or files. Furthermore, while the study demonstrates Defendroid's efficiency in analyzing single lines of code, its performance in scanning entire real-world projects, which often consist of thousands of lines of code, needs further investigation and optimization to ensure practical usability. Similarly, [PERSON] et al. [15] explored machine learning models to predict Android vulnerabilities in IoT apps, using 21 static code metrics across 1406 apps. Random Forest showed the best performance, though limitations included a small sample size and dataset imbalance. [PERSON] et al. [16] analyzed 1407 Android apps using static code metrics and statistical models to predict security risks, with radial-based support vector machines (r-SVM) achieving a precision of 0.83. VuRLE [17] focuses on repairing vulnerabilities in Java code by learning from prior edits and applying automatic patches. It outperformed the LASE approach and was evaluated using highly rated GitHub projects. Vulvet [18] employs a multi-tiered static analysis framework to detect and patch Android vulnerabilities, achieving high precision and F-measure. However, limitations included a lack of support for native code and dynamic loading. In this reference [19], machine learning analysis is applied to distinguish between vulnerable and non-vulnerable source code by extracting the Abstract Syntax Tree (AST) of a code fragment, converting it into a numerical array, and retaining the structural and semantic details embedded in the code with a hybrid method. While C and C++ codes are used as target languages, the authors mentioned that the method proposed can be applied to predict vulnerabilities of other languages in conditions where a good dataset is used. Other studies investigated ML-based vulnerability detection. A hybrid model proposed by [20] achieved 77% accuracy in detecting Android Intent vulnerabilities but faced limitations due to the small sample size. A study, [21], introduced a deep neural network for vulnerability prediction, using n-gram mining for feature extraction, but noted internal threats such as the exclusion of XML data. [PERSON] et al. [22] generated vulnerability detection rules using PMD tool data, manually labeled apps, and tested ML algorithms with 10-fold cross-validation, highlighting the time-intensive process of manual dataset construction. [PERSON] et al. [23] conducted an empirical study of Java and Kotlin Android apps, identifying common security weaknesses and revealing a lack of academic tools developers use for security detection. They researched vulnerable cases through Githubarchive using a set of keywords that potentially showed where developers fixed the vulnerabilities through commits. [PERSON] et al. [24] aim to develop an automated system to identify previously undetected vulnerabilities in open-source libraries by analyzing commit messages and bug reports.