github / github/codeql

CPP:Some questions about Control flow analyse and query time

Ouverte
#10,411 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
question
Langage dominant
CodeQL
Étoiles
10.1k
Forks
2.1k
Merge moyen
2 j 15 h
PR mergées (30 j)
141

Description

I just start learning Codeql, and I want to analyze Data flow and Control flow of a program. Now I learn **_getASuccessor_** and Global DataFlow analyze. And I have some questions:

1. Is there any way (api)to do global control flow analysis? I find that **_getASuccessor_** can only get reachability within A function. How to know if a node in a function can reach node in some other functions?
2. I write a function to do global control flow analysis, but the query takes a long long time to run.... It's a function that recursively calls getASuccessor, I wonder why it's taking so long.....getASuccessor?or recursive?Is there any way to do this faster?
Part of the code:
![image](https://user-images.githubusercontent.com/39425646/190085957-8c6fc4b6-b5f7-4ee9-964e-fe0dc004a9eb.png)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par l’API getASuccessor et l’analyse globale du flux de données mentionnées dans l’issue, puis examinez la requête récursive présentée dans le code joint. Déterminez si l’analyse du flux de contrôle interfonctions est prise en charge et isolez si la récursion ou l’évaluation répétée de getASuccessor est à l’origine de la longue durée d’exécution ; le travail est considéré comme terminé lorsqu’une approche documentée ou un constat de performance reproductible est disponible.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
devtools
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.