# A Comprehensive Review and Assessment of Cybersecurity Vulnerability Detection Methodologies
## 4 Taxonomy of Vulnerability Detection Approaches and Findings Analysis
### Graph-Based Approach
#### 4.2.1 Graph-Based Approach Methods Description
Moreover, this approach evaluates the prediction using rank-based metrics such as Mean Rank (MR), Mean Reciprocal Rank (MRR), and Hits@N scores to ascertain the accuracy of the result [82, 83]. Finally, the method is tested on closed-world settings (only known associations) and open-world settings (predicting associations). The results are promising, but further investigation is needed to improve performance. Method Based on LLM  
A recent study presented the method GRACE, which empowers graph structural information with LLM to learn models on data dependencies and incorporate specific domain knowledge to enhance LLMs' performances for software vulnerability detection [84]. The semantic, lexical, and syntactic similarity aspects of the most similar code are considered to provide better demonstrations for in-context learning. GRACE's first module, the demonstration selection module, begins with a semantic comparison between source code and input code, then considers lexical and syntactic similarities to generate the most similar code. As a second module, graph structure representation utilizes Control Flow Graph (CFG: possible traversed path), Abstract Syntax Tree (AST: Syntactic form) and Program Dependence Graph (PDG: data and control dependencies) to understand structures, complex relationships, and dependencies within the input code [57, 58, 85]. Ultimately, the last module highlights the vulnerability detection module, which consists of two components: (1) The basic prompt outputs result from binary classification (vulnerable or not), and the outcomes are more accurate when adding domain information in this context. (2) The auxiliary information reflects the in-context learning demonstrations (the results of the first module enhance the vulnerability detection capabilities of LLM) and graph structure information (a more comprehensive understanding of the code's structure). Globally, the results are promising; however, further evaluation in different environments is needed to assess their effectiveness and be more accurate. Method Based on Attack Graphs  
This study proposed an approach to analyze and assess IoT networks' security posture [86]. IoT systems face security challenges in dynamic environments, where frequent network topology updates (newly added devices and multiple interconnections) are highly manifested. The practical case in this study highlighted body sensor networks, which constantly changed their location, exposing them to various forms of cyberattacks. To address this issue, this study combines graph database usage (Neo4j) [87], reachability (directed path between nodes), and attack graphs (possible attack paths) to provide a real-time model for analyzing CVEs and attack propagation. The graph node represents devices and associated CVEs, while the edge captures the relationship between them. Attack and topology graphs are generated by using Cypher queries. This method consists of generating an updated network's topology when new devices join or leave. Then, the reachability is automatically calculated, and finally, the attack graph is given considering new device CVEs and the network's current configuration. As a result, the model contributes to assessing potential risks and provides real-time insights related to possible attack paths and CVEs. More details are shown in Table 4.